Código de Python - Código que devuelve el numero de segundos desde el inicio de un proceso

Imágen de perfil

Código que devuelve el numero de segundos desde el inicio de un procesográfica de visualizaciones


Python

estrellaestrellaestrellaestrellaestrella(1)
Publicado el 17 de Octubre del 2016 por xve
1.026 visualizaciones desde el 17 de Octubre del 2016. Una media de 14 por semana
Esta función busca por un texto recibido, los procesos que contienen dicho texto y devuelve un diccionario con el id y tiempo en segundos desde que se inicio cada proceso que coincide con el texto.

Requerimientos

Linux

Versión 1.0 - Python 2.7

Actualizado el 23 de Octubre del 2016 (Publicado el 17 de Octubre del 2016)gráfica de visualizaciones de la versión: Versión 1.0 - Python 2.7
99 visualizaciones desde el 17 de Octubre del 2016. Una media de 7 por semana

Versión 1.0 - Python 3.x
estrellaestrellaestrellaestrellaestrella(1)

Actualizado el 19 de Octubre del 2016 (Publicado el 17 de Octubre del 2016)gráfica de visualizaciones de la versión: Versión 1.0 - Python 3.x
928 visualizaciones desde el 17 de Octubre del 2016. Una media de 14 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import subprocess
 
def getSecondsFromStartProcess(process):
    """
    Esta funcion devuelve un diccionario del tipo id:segundos con los segundos
    desde el inicio de cada proceso
    """
    def getSeconds(days,hour,minutes,seconds):
        """
        Esta funcion calcula y devuelve los segundos desde los valores pasados
        como son dias, horas, ...
        """
        totalSeconds=int(days)*24*60*60
        totalSeconds+=int(hour)*60*60
        totalSeconds+=int(minutes)*60
        totalSeconds+=int(seconds)
        return totalSeconds
 
    # diccionari que contendra los id:segundos de los procesos
    listProcessors={}
 
    # obtenemos los id's y procesos que cumplen con la condicion pasada
    processors=subprocess.getoutput("/bin/ps -eo pid,etime,cmd | grep '%s' | grep -v grep" % process)
 
    # separamos las lineas en una lista
    lines=processors.splitlines()
 
    # recorremos todas las lineas
    for line in lines:
        days=0
 
        # obtenemos la hora de inicio del proceso, que puede estar en tres formatos
        # diferentes:
        #	3-17:36:59
        #	17:36:59
        #	36:59
        time=line.split()[1]
        if time.find("-")>=0:
            # el formato es 3-17:36:59
            days=time.split("-")[0]
            time=time.split("-")[1]
        elif len(time.split(":"))==3:
            # el formato es 17:36:59
            pass
        else:
            # el formato es 36:59
            time="00:"+time
 
        time=time.split(":")
        listProcessors[int(line.split()[0])]=getSeconds(days, time[0], time[1], time[2])
    return listProcessors
 
print(getSecondsFromStartProcess("chromium"))



Comentarios sobre la versión: Versión 1.0 - Python 3.x (1)

Imágen de perfil
kip
17 de Octubre del 2016
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder

Comentar la versión: Versión 1.0 - Python 3.x

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s3716  
Revisar política de publicidad