Linux - Como eu vejo quando um processo é iniciado?

22

Como posso ver quando um processo começou, supondo que eu conheça o pid. (No Linux)

    
por Rory 18.12.2009 / 09:30

5 respostas

26

Se você quiser apenas a hora de início, pode selecionar o campo e suprimir o cabeçalho fazendo isso:

 ps -p YOURPID -o lstart=

a saída ficará assim:

 Mon Dec 14 17:17:16 2009

que é ctime(3) format e você pode analisá-lo para dividir as partes relevantes.

Outros campos de início, como start , stime , bsdstart e start_time age o tempo (após 24 horas, apenas a data é mostrada, por exemplo).

Você pode, no entanto, usá-los diretamente para processos iniciados recentemente sem mais análise:

ps -p YOURPID -o stime=

que produziria algo como:

09:26
    
por 18.12.2009 / 15:27
9

"ps -f" - está nas man pages

    
por 18.12.2009 / 09:35
8

awk '{print $22}' /proc/$pid/stat - fornece a hora de início nos jiffies após o boot

    
por 18.12.2009 / 09:39
1

uma maneira você pode ps-f | grep como você disse que o pid outro sábio você pode sábio no topo também

    
por 18.12.2009 / 10:02
0

Ou, no caso em que há um único processo em cada host, você pode fazer:

ps -p 'pgrep openvpn' -o lstart=
    
por 28.05.2013 / 21:15