El ps
command, abreviatura de Process Status, es una utilidad de línea de comandos que se utiliza para mostrar o ver información relacionada con los procesos que se ejecutan en un sistema Linux .
Como todos sabemos, Linux es un sistema multitarea y multiprocesamiento. Por lo tanto, varios procesos pueden ejecutarse simultáneamente sin afectarse entre sí.
El comando ps enumera los procesos en ejecución actuales junto con sus PID y otros atributos. En esta guía, nos centraremos en el uso del comando ps.
Recupera información sobre los procesos de archivos virtuales que se encuentran en el sistema de archivos /proc
comando ps sin argumentos
El comando ps sin argumentos enumera los procesos en ejecución en el shell actual
ps
Salida
La salida consta de cuatro columnas
PID
– Este es el ID de proceso único
TTY
– Este es el tipo de terminal en el que el usuario ha iniciado sesión
TIME
– Este es el tiempo en minutos y segundos que el proceso se ha estado ejecutando
CMD
– El comando que inició el proceso
Ver todos los procesos en ejecución en diferentes formatos
Para echar un vistazo a todos los procesos en ejecución, ejecute el siguiente comando
ps -A
Salida
o
ps -e
Salida
Ver procesos asociados al terminal
Para ver los procesos asociados con el terminal, ejecute
ps -T
Salida
Ver procesos no asociados con la terminal
Para ver todos los procesos con la excepción de los procesos asociados con el terminal y los líderes de sesión
ejecutar
ps -a
Un líder de sesión es un proceso que inicia otros procesos
Salida
Mostrar todos los procesos en ejecución actuales
Para ver todos los procesos actuales ejecutar
ps -ax
Salida
-a
la bandera representa todos los procesos-x
mostrará todos los procesos, incluso aquellos que no estén asociados con el tty actual
Mostrar todos los procesos en formato BSD
Si desea mostrar procesos en formato BSD, ejecute
ps au
O
ps aux
Salida
Para realizar una lista de formato completo
Para ver una lista de formato completo, ejecute
ps -ef
O
ps -eF
Salida
Filtrar procesos según el usuario
Si desea enumerar los procesos asociados con un usuario específico, use -u
bandera como se muestra
ps -u user
Por ejemplo
ps -u jamie
Salida
Filtrar proceso por proceso de subproceso
Si desea conocer el hilo de un proceso en particular, haga uso de -L
bandera seguida por el PID
Por ejemplo
ps -L 4264
Salida
Mostrar todos los procesos ejecutándose como root
A veces, es posible que desee revelar todos los procesos ejecutados por el usuario raíz. Para lograr esta carrera
ps -U root -u root
Salida
Mostrar procesos de grupo
Si desea enumerar todos los procesos asociados a un determinado grupo, ejecute
ps -fG group_name
O
ps -fG groupID
Por ejemplo
ps -fG root
Salida
Proceso de búsqueda PID
Lo más probable es que generalmente no conozca el PID de un proceso. Puede buscar el PID de un proceso
ejecutando
ps -C process_name
Por ejemplo
ps -C bash
Salida
Listado de procesos por PID
Puede mostrar procesos por su PID como se muestra
ps -fp PID
Por ejemplo
ps -fp 1294
Salida
Para mostrar la jerarquía de procesos en un diagrama de árbol
Por lo general, la mayoría de los procesos se bifurcan a partir de procesos principales. Llegar a conocer esta relación padre-hijo
puede ser útil. El siguiente comando busca procesos con el nombre apache2
ps -f --forest -C bash
Salida
Mostrar procesos secundarios de un proceso principal
Por ejemplo, si desea mostrar todos los procesos bifurcados que pertenecen a apache, ejecute
ps -o pid,uname,comm -C bash
Salida
El primer proceso, que es propiedad de root, es el proceso principal de apache2 y el resto de los procesos
se han bifurcado de este proceso principal
Para mostrar todos los procesos secundarios de apache2 utilizando el pid del proceso principal de apache2, ejecute
ps --ppid PID no.
Por ejemplo
ps --ppid 1294
Salida
Mostrar hilos de proceso
El comando ps se puede usar para ver hilos junto con los procesos.
El siguiente comando muestra todos los subprocesos propiedad del proceso con PID pid_no
ps -p pid_no -L
Por ejemplo
ps -p 1294 -L
Salida
Mostrar una lista seleccionada de columnas
Puede usar el comando ps para mostrar solo las columnas que necesita.
Por ejemplo,
ps -e -o pid,uname,pcpu,pmem,comm
El comando anterior solo mostrará las columnas PID, nombre de usuario, CPU, memoria y comando
Salida
Renombrar etiquetas de columnas
Para cambiar el nombre de las etiquetas de las columnas, ejecute el siguiente comando
ps -e -o pid=PID,uname=USERNAME,pcpu=CPU_USAGE,pmem=%MEM,comm=COMMAND
Salida
Mostrar el tiempo transcurrido de los procesos
El tiempo transcurrido se refiere a cuánto tiempo se ha estado ejecutando el proceso
ps -e -o pid,comm,etime
Salida
La opción -o habilita la columna de tiempo transcurrido
Usando el comando ps con grep
el comando ps se puede usar con el comando grep para buscar un proceso en particular
Por ejemplo
ps -ef | grep systemd
Salida