Quanto tempo o processo está sendo executado?

6

É uma maneira de verificar quanto tempo um processo X está sendo executado ou quando foi iniciado? O primeiro pensamento que me ocorreu foi o comando ps , mas não encontrei nada.

    
por marioosh 25.02.2012 / 10:06

1 resposta

5

A maneira mais simples é ps -ef , veja a coluna STIME para quando ela foi iniciada. Para um processo X, use ps -ef | grep -i X . Um método mais complicado (e necessário para o tempo decorrido) seria usar a opção -o . Usando isso:

O equivalente a ps -ef é ps -eo uid,pid,ppid,c,stime,tty,time,cmd

Da página do manual:

  etime      ELAPSED elapsed time since the process was started, in the
                     form [[DD-]hh:]mm:ss.

  start      STARTED time the command started. If the process was started
                     less than 24 hours ago, the output format is
                     "HH:MM:SS", else it is "  <mm dd" (where Mmm is a
                     three-letter month name). See also lstart, bsdstart,
                     start_time, and stime.

Então, um simples para um processo chamado "X" seria:

A pesquisa de comandos é executada: ps -eo pid,cmd,start,etime | grep -i X
Procurando nomes executáveis: ps -eo pid,comm,start,etime | grep -i X
Pesquisando ambos: ps -eo pid,comm,cmd,start,etime | grep -i X

Você pode querer configurar um apelido, se for usá-lo muito.

    
por 25.02.2012 / 10:29

Tags