Ver el tiempo que un proceso lleva en ejecución

En *nix, el comando ps permite listar y manejar procesos pero no se suele conocer la forma directa de visualizar el tiempo que lleva un proceso en ejecución. En realidad se puede sacar con la salida por defecto  a partir del valor de la columna STIME, que indica el momento en el que se inició (START TIME) pero hay que «calcular» el tiempo.

Para calcular el tiempo en ejecución de un proceso podemos utilizar el parámetro etime (elapsed time), el cual muestra en formato de fecha el tiempo que el proceso que le indiquemos lleva ejecutándose:

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

Lo combinaremos con otro parámetro (-p pidlist) en el que le diremos el PID a revisar y el formato (-o):

$ ps -p PID -o etime=
$ ps -p 4283 -o etime=
      06:18

También podemos especificar el «output» que queramos para ps especificando los argumentos separados por comas después del «-o», un ejemplo:

$ ps -eo pid,comm,args,user,etime --sort user | more
  PID COMMAND         COMMAND                     USER         ELAPSED
 2969 fctsslvpndaemon /crypted/Proyectos/         4294967294  02:39:36
 1929 gnome-keyring-d /usr/bin/gnome-keyring-daem 1000        03:04:27
 1948 sh              /bin/sh /etc/xdg/xfce4/xini 1000        03:04:27
 1977 ssh-agent       /usr/bin/ssh-agent /usr/bin 1000        03:04:26
 1980 dbus-launch     /usr/bin/dbus-launch --exit 1000        03:04:26
 1981 dbus-daemon     //bin/dbus-daemon --fork -- 1000        03:04:26
 1989 xfconfd         /usr/lib/xfce4/xfconf/xfcon 1000        03:04:26
 1995 xscreensaver    xscreensaver -no-splash     1000        03:04:26

Sabiendo esto podéis jugar creando alias de ps con la salida que necesitéis u crear las combinaciones que estiméis oportunas.