Procesos Linux ps
Comando ps
El comando ps, se utiliza para enumerar los procesos que se están ejecutando actualmente y sus PID en sistemas Linux y similares a Unix. Al ejecutarlo nos dará al menos dos procesos.
root@server02:~# ps PID TTY TIME CMD 15530 pts/0 00:00:00 ps 22082 pts/0 00:00:00 bash
Modificadores
Mostrar todos los procesos
Por defecto, ps muestra sólo los procesos que se ejecutaron desde su propia terminal (xterm, acceso en modo texto o acceso remoto). Las opciones -A y -e hacen que se muestren todos los procesos del sistema y x muestra todos los procesos que pertenecen al usuario que proporciona el comando. La opción xtambién incrementa la cantidad de información que se muestra sobre cada proceso.
ps -A
root@nms:~# ps -A
PID TTY TIME CMD
1 ? 00:00:34 systemd
2 ? 00:00:00 kthreadd
3 ? 00:00:00 rcu_gp
4 ? 00:00:00 rcu_par_gp
6 ? 00:00:00 kworker/0:0H-kblockd
8 ? 00:00:00 mm_percpu_wq
9 ? 00:01:48 ksoftirqd/0
10 ? 00:01:23 rcu_sched
11 ? 00:00:00 rcu_bh
12 ? 00:00:08 migration/0 .......
Mostrar los procesos de un usuario
Puede mostrar los procesos que pertenecen a un usuario concreto con las opciones -u usuario, U usuario, y --User usuario. La variable usuario puede ser un nombre de usuario o el ID de usuario
ps -u
root@nms:~# ps -u eduardo
Mostrar información adicional.
Las opciones -f, -l, j, l, u y v amplían la información proporcionada en la salida de ps. La mayoría de los formatos de ps incluye una línea por proceso, pero ps puede mostrar tanta información que es imposible adaptarla a una salida con líneas de 80 caracteres. Por este motivo, estas opciones ofrecen varias combinaciones para la salida.
ps -f
root@nms:~# ps -f UID PID PPID C STIME TTY TIME CMD root 3129 3088 0 08:00 pts/0 00:00:00 -bash root 4931 3129 0 08:04 pts/0 00:00:00 ps -f
ps -l
root@nms:~# ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 3129 3088 0 80 0 - 1979 - pts/0 00:00:00 bash 0 R 0 7803 3129 0 80 0 - 2637 - pts/0 00:00:00 ps
ps j
root@nms:~# ps j
PPID PID PGID SID TTY TPGID STAT UID TIME COMMAND
1 400 400 400 tty1 400 Ss+ 0 0:00 /sbin/agetty -o -p -- \u --noclear tty1 linux
3088 3129 3129 3129 pts/0 7805 Ss 0 0:00 -bash
3129 7805 7805 3129 pts/0 7805 R+ 0 0:00 ps j
ps l
root@nms:~# ps l F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 4 0 400 1 20 0 5612 1512 core_s Ss+ tty1 0:00 /sbin/agetty -o -p -- \u --noclear tty1 linux 4 0 3129 3088 20 0 7916 4532 - Ss pts/0 0:00 -bash 0 0 7809 3129 20 0 10548 1272 - R+ pts/0 0:00 ps l
ps u[editar | editar código]
root@nms:~# ps u USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 400 0.0 0.0 5612 1512 tty1 Ss+ nov08 0:00 /sbin/agetty -o -p -- \u --noclear tty1 linux root 3129 0.0 0.0 7916 4532 pts/0 Ss 08:00 0:00 -bash root 7811 0.0 0.0 10632 3008 pts/0 R+ 08:07 0:00 ps u
ps v
root@nms:~# ps v PID TTY STAT TIME MAJFL TRS DRS RSS %MEM COMMAND 400 tty1 Ss+ 0:00 2 42 5569 1512 0.0 /sbin/agetty -o -p -- \u --noclear tty1 linux 3129 pts/0 Ss 0:00 0 873 7042 4532 0.0 -bash 7868 pts/0 R+ 0:00 0 108 10439 1276 0.0 ps v
Mostrar la jerarquía de procesos
Las opciones -H, -f y --forest agrupan los procesos y emplean sangrías para mostrar la jerarquía de las relaciones entre los procesos. Estas opciones le serán útiles si intenta averiguar los parentescos de un proceso.
Mostrar la salida a todo el ancho
La salida del comando ps puede ser superior a las 80 columnas. Normalmente, ps trunca su salida para que se adapte a su pantalla o xterm. Las opciones -w y w le indican a ps que no haga esto, esto nos puede ser útil si dirigimos la salida a un fichero, como en ps w > ps.txt. Después, podemos examinar tranquilamente el fichero de salida en un editor de texto que admita líneas anchas.
Comandos útiles
Mostrar todos los procesos con el ID de proceso y el predecesor
ps -ef
root@nms:~# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 nov08 ? 00:00:35 /sbin/init root 2 0 0 nov08 ? 00:00:00 [kthreadd] root 3 2 0 nov08 ? 00:00:00 [rcu_gp] root 4 2 0 nov08 ? 00:00:00 [rcu_par_gp] root 6 2 0 nov08 ? 00:00:00 [kworker/0:0H-kblockd] root 8 2 0 nov08 ? 00:00:00 [mm_percpu_wq] root 9 2 0 nov08 ? 00:01:48 [ksoftirqd/0]
Filtrar
El comando ps con la concatenación del comando grep, permite buscar un proceso
ps -ef | grep texto-a-buscar
root@nms:~# ps -ef | grep php root 381 1 0 nov08 ? 00:00:19 php-fpm: master process (/etc/php/7.3/fpm/php-fpm.conf) www-data 16057 381 0 nov11 ? 00:00:11 php-fpm: pool www www-data 16292 381 0 nov11 ? 00:00:10 php-fpm: pool www root 16533 3129 0 08:24 pts/0 00:00:00 grep php www-data 18178 381 0 nov11 ? 00:00:08 php-fpm: pool www
Número de procesos
Con la concatenación del comando wc -l, permite contar los procesos
root@nms:~# ps -ef | wc -l 201
Como en cualquier comando linux se permite la concatenación múltiple
root@nms:~# ps -ef | grep php | wc -l 5