Linux: ¿cómo veo cuándo comenzó un proceso?

23

¿Cómo puedo ver cuándo comenzó un proceso, suponiendo que conozca el pid? (En Linux)

Rory
fuente

Respuestas:

30

Si solo desea la hora de inicio, puede seleccionar el campo y suprimir el encabezado haciendo esto:

 ps -p YOURPID -o lstart=

la salida se verá así:

 Mon Dec 14 17:17:16 2009

que es ctime(3)formato y puede analizarlo para dividir las partes relevantes.

Otros campos de inicio, tales como start, stime, bsdstarty start_timela edad del tiempo (después de 24 horas sólo se muestra la fecha, por ejemplo).

Sin embargo, puede usarlos directamente para procesos iniciados recientemente sin analizar más:

ps -p YOURPID -o stime=

que generaría algo como:

09:26
Pausado hasta nuevo aviso.
fuente
¡Esto también funciona en una Mac!
Brad Parks
8

"ps -f" - está en las páginas man

Chopper3
fuente
2
Y para seleccionar el pid conocido:ps -f -p yourpid
Pausado hasta nuevo aviso.
En realidad, esto funciona si el proceso se inició el mismo día, pero si se inició otro día solo se obtiene el día, pero no la hora del día como en la respuesta de
@DennisWilliamson
8

awk '{print $22}' /proc/$pid/stat - te da la hora de inicio en segundos después del arranque

James
fuente
Respuesta bellamente oscura!
wzzrd
Adiviname esto. Un sistema con un tiempo de actividad de '17: 57 'tiene un proceso con un tiempo de inicio de' 727975 '. ¿Parece que el proceso comenzó dentro de 8 días?
Scott Pack
1
En realidad está en un santiamén (100 / seg)
MarkR
1
Demasiado oscuro! Y además, ahora debe buscar el tiempo de arranque y hacer los cálculos para convertir los segundos en segundos y calcular el desplazamiento para obtener el tiempo del reloj. Fácil, pero demasiados pasos. Ver la respuesta de Chopper3.
Pausado hasta nuevo aviso.
La cantidad de jiffies por segundo se almacena en la variable de sistema HZ. En su mayoría es 100. Para calcularlo en shell, puede usar esto: stackoverflow.com/a/44524937/1950345
reichhart
0

Si hay un solo proceso con un nombre de pila (p openvpn. Ej. ) En el host, puede hacer:

ps -p `pgrep openvpn` -o lstart=
aperezbios
fuente
-1

de una manera puedes ps -f | grep como dijiste el pid de otra manera puedes hacerlo en la parte superior también

Rajat
fuente