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

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
326 visualizaciones desde el 17 de Octubre del 2016

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
1.677 visualizaciones desde el 17 de Octubre del 2016
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
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...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s3716