A veces es necesario conocer con exactitud la fecha y hora en la que fue creado un proceso, generalmente cuando se trata de diagnosticar errores.
Existen diversas alternativas para obtener esta información, pero para mí la más fiable y exacta consiste en "preguntarle" directamente al kernel Linux. Para ello simplemente se puede listar la fecha de creación del directorio correspondiente al PID del proceso en cuestión que se encuentra dentro del directorio /proc
.
Por ejemplo, supongamos que necesito saber la fecha y hora exacta de creación del proceso nginx
root@linuxito:~# ps ax | grep "nginx: master" 2519 ? Ss 0:00 nginx: master process /sbin/nginx 11422 pts/0 S+ 0:00 grep nginx: master
El process ID es 2519
, y la fecha actual 11 de mayo de 2016:
root@linuxito:~# date '+%F %T' 2016-05-11 11:09:32
Para obtener entonces la fecha de creación del proceso, utilizar el comando ls -od --time-style='%F %T
:
root@linuxito:~# ls -od --time-style='+%F %T' /proc/2519 dr-xr-xr-x 7 root 0 2016-05-09 02:09:02 /proc/2519
Se observa que el proceso 2519
fue creado el 9 de mayo a las 2:09 hs. El parámetro --time-style
utiliza la misma sintaxis qe date
.
Para más información:
man ps man proc man ls man date