3.2.1.- ps
Sintaxis: ps [axl] [-ptUujowef]
El programa ps permite listar los procesos existentes en el sistema. Dependiendo de las opciones que se le proporcionen, se pueden listar todos los procesos o sólo algunos, y se puede obtener más o menos información de cada proceso.
Esta orden admite opciones, algunas de las más comunes son las que se citan a continuación:
Si no se proporciona ninguna opción, se listan los procesos interactivos (es decir, asociados a un terminal) del usuario actual, indicándose para cada uno su PID, terminal, tiempo de CPU acumulado y nombre y argumentos.
x: añade al listado los procesos no interactivos (es decir, los que no están asociados a ningún terminal).
a: hace que también se listen los procesos de los demás usuarios. Por tanto, con ps -ax se obtiene un listado de todos los procesos del sistema, sean interactivos o no.
-e: Nos informa de todos los procesos que hay en el sistema (similar a ps ax).
-p PID: muestra información sólo sobre el proceso cuyo PID se especifica.
-t terminal: muestra todos los procesos asociados al terminal especificado (basta con especificar los dos últimos caracteres del nombre del terminal).
-U usuario: muestra todos los procesos del usuario especificado.
-o palabra_clave: permite añadir al listado multitud de campos que no aparecen con ninguna de las opciones anteriores. La lista completa de palabras clave se puede obtener mediante ps L, o bien consultando la página de manual ps(1).
w: sirve para que el programa ps no recorte a 80 columnas la información de cada proceso.
-f, l, u, -j: Proporcionan información más detallada sobre los procesos.
Ejemplo:
$ ps ax -f
UID PID PPID C STIME TTY STAT TIME CMD
root 1 0 0 Mar16 ? Ss 0:02 /sbin/init
root 2 0 0 Mar16 ? S 0:00 [kthreadd]
root 3 2 0 Mar16 ? S 0:43 [ksoftirqd/0]
root 4 2 0 Mar16 ? S 0:00 [kworker/0:0]
root 5 2 0 Mar16 ? S< 0:00 [kworker/0:0H]
root 7 2 0 Mar16 ? S 0:00 [migration/0]
root 8 2 0 Mar16 ? S 0:00 [rcu_bh]
root 9 2 0 Mar16 ? S 11:28 [rcu_sched]
root 10 2 0 Mar16 ? S< 0:00 [khelper]
root 11 2 0 Mar16 ? S 0:00 [kdevtmpfs]
root 12 2 0 Mar16 ? S< 0:00 [netns]
root 13 2 0 Mar16 ? S 0:00 [xenwatch]
...
UID: Nombre del usuario propietario del proceso.
PID: Identificador del proceso.
PPID: Identificador del proceso padre.
C: Indica la cantidad de recursos de CPU que el proceso ha utilizado recientemente. El núcleo utiliza esta información para calcular la prioridad.
STIME: Instante de comienzo del proceso.
TTY: Terminal asociado al proceso.
TIME: Tiempo de CPU asignado al proceso.
COMMAND: Nombre y argumentos del programa.
$ ps axl
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
4 0 1 0 20 0 19280 1140 poll_s Ss ? 0:02 /sbin/init
1 0 2 0 20 0 0 0 kthrea S ? 0:00 [kthreadd]
1 0 3 2 20 0 0 0 smpboo S ? 0:43 [ksoftirqd/0]
1 0 4 2 20 0 0 0 worker S ? 0:00 [kworker/0:0]
1 0 5 2 0 -20 0 0 worker S< ? 0:00 [kworker/0:0H]
1 0 7 2 -100 - 0 0 smpboo S ? 0:00 [migration/0]
1 0 8 2 20 0 0 0 rcu_gp S ? 0:00 [rcu_bh]
1 0 9 2 20 0 0 0 rcu_gp S ? 11:28 [rcu_sched]
1 0 10 2 0 -20 0 0 rescue S< ? 0:00 [khelper]
...
PRI: Prioridad del proceso.
NI: Valor nice empleado. Un valor positivo indica menor tiempo de CPU.
VSZ: Tamaño de la imagen del proceso en memoria virtual (código + datos + pila).
RSS: Resident Set Size. Indica la cantidad de kilobytes del programa en memoria.
WCHAN: Dirección de la función del núcleo en la que el proceso se encuentra durmiendo.
STAT: Información acerca del estado del proceso.
TTY: Terminal asociado al proceso.