El pscomando, 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 que se están ejecutando actualmente 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 ha estado ejecutándose CMD– El comando que inició el proceso
Visualización de 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 con la terminal
Para ver los procesos asociados con la terminal, ejecute ps -T Output
Ver procesos no asociados con la terminal
Para ver todos los procesos con excepción de los procesos asociados con la terminal y los líderes de sesión, ejecute ps -aUn 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, ejecute
ps -ax
El indicador de salida -a representa todos los procesos -xy 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
Producción
Para realizar un listado de formato completo
Para ver una lista completa, ejecute
ps -ef
O
ps -eF
Producción
Filtrar procesos según el usuario
Si desea enumerar los procesos asociados con un usuario específico, utilice la -ubandera como se muestra
ps -u user
Por ejemplo
ps -u jamie
Producción
Filtrar proceso por proceso de hilo
Si desea conocer el hilo de un proceso en particular, haga uso de la -Lbandera seguida del PID Por ejemplo
ps -L 4264
Producción
Mostrar todos los procesos que se ejecutan como root
A veces, es posible que desee revelar todos los procesos ejecutados por el usuario root. Para lograr esto, ejecute
ps -U root -u root
Producción
Mostrar procesos del 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
Producción
Proceso de búsqueda PID
Lo más probable es que no conozcamos el PID de un proceso. Puede buscar el PID de un proceso ejecutando
ps -C process_name
Por ejemplo
ps -C bash
Producción
Listado de procesos por PID
Puede visualizar los procesos por su PID como se muestra
ps -fp PID
Por ejemplo
ps -fp 1294
Producción
Para mostrar la jerarquía de procesos en un diagrama de árbol
Por lo general, la mayoría de los procesos se bifurcan de los procesos principales. Conocer esta relación entre padres e hijos puede resultar útil. El siguiente comando busca procesos que tengan el nombre apache2
ps -f --forest -C bash
Producción
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 que utilizan el pid del proceso principal de apache2, ejecute
ps --ppid PID no.
Por ejemplo
ps --ppid 1294
Producción
Mostrar hilos de proceso
El comando ps se puede utilizar para ver los subprocesos junto con los procesos. El comando siguiente muestra todos los subprocesos que pertenecen al proceso con PID pid_no
ps -p pid_no -L
Por ejemplo
ps -p 1294 -L
Producción
Mostrar una lista seleccionada de columnas
Puede utilizar 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 de salida.
Cambiar el nombre de las etiquetas de las 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
Producción
Mostrar el tiempo transcurrido de los procesos
El tiempo transcurrido se refiere al tiempo que ha estado ejecutándose el proceso.
ps -e -o pid,comm,etime
Salida La opción -o habilita la columna para el tiempo transcurrido
Usando el comando ps con grep
El comando ps se puede utilizar con el comando grep para buscar un proceso en particular, por ejemplo
ps -ef | grep systemd
Producción