systemadmin.es » Obtener la fecha de inicio de un proceso

Obtener la fecha de inicio de un proceso

El comando ps es una herramienta con muchas opciones, una de ellas es la posibilidad de definir las comunas que queremos que se muestren. Por ejemplo podemos obtener la fecha de inicio de un proceso mediante la columna lstart.

Para ello simplemente deberemos añadir la opción -o con las columnas que nos interesen, por ejemplo todos los procesos con su fecha de inicio (lstart) y el comando (cmd):

# ps -eo "lstart,cmd" | grep 'mysqld --basedir'
Tue Jun 30 17:52:21 2009 /usr/libexec/mysqld --basedir=/usr --datadir=/var/lib/mysql --user=mysql --pid-file=/var/run/mysqld/mysqld.pid --skip-external-locking --socket=/var/lib/mysql/mysql.sock --log-slow-queries=/var/log/mysql/mysqld-slow.log

O bien para obtener para un determinado PID la fecha de inicio del proceso:

# ps -p 8854 -o lstart
                 STARTED
Tue Jun 30 17:52:21 2009

Incluso mediante date podemos convertir una fecha a un timestamp:

# date -d "$(ps -eo lstart,cmd | grep "[m]ysqld " | cut -d ' ' -f 1-4)" +%s
1277913141

De esta forma podemos usar el timestamp en scripts para realizar cualquier tipo de comprobación.

Relacionados

Imprimir Imprimir

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>