Cómo mostrar información de proceso en un sistema Linux con el comando ps
En sistemas operativos de multiprocesamiento como Linux, los procesos forman una parte integral del flujo de trabajo del sistema. A veces, los usuarios necesitan enumerar los procesos en ejecución en un sistema con fines de supervisión. En tales situaciones, las utilidades de la línea de comandos de Linux pueden resultar útiles.
El comando ps es una de esas herramientas que muestra información relacionada con los procesos en un sistema Linux. Veamos el comando ps y algunos ejemplos importantes de uso.
¿Qué es el comando ps?
Un proceso es el componente básico de la informática en una máquina Linux. Cada programa que abre ejecuta uno o más procesos que son responsables del funcionamiento de la computadora. Desde una aplicación de edición de video avanzada hasta una utilidad simple como el comando mv , todo se compone de procesos.
El comando ps, que es un acrónimo de Process Status , es útil cuando desea obtener una lista de todos los procesos que se ejecutan en su sistema. Este comando también proporciona al usuario información adicional asociada con estos procesos.
Cómo usar el comando ps en Linux
La sintaxis básica del comando ps es:
ps [options]
Ejecutar el comando ps sin ningún argumento produce el siguiente resultado:
ps
La siguiente información se proporciona en la salida mencionada anteriormente.
- PID : el ID de proceso del proceso resaltado
- TTY : muestra el nombre de la terminal que estás usando
- TIEMPO : El tiempo asignado al proceso por la CPU.
- CMD : el comando que se encarga de iniciar el proceso
Listar todos los procesos
Para obtener una lista de todos los procesos en un sistema Linux, use el indicador -A o -e con el comando ps predeterminado.
ps -A
ps -e
Ver procesos asociados con la terminal
La bandera -T mostrará la lista de todos los procesos relacionados con el terminal.
ps -T
Verá una salida que se parece a esto.
Procesos de visualización no asociados con la terminal
La bandera -a enumerará los procesos que no están asociados con la terminal actual.
ps -a
La pantalla mostrará una salida.
Negar las opciones especificadas
También puede usar el indicador -N o –deselect con el comando ps para invertir el funcionamiento de un argumento específico.
Por ejemplo, la opción -T muestra los procesos asociados con el terminal. Agregar el indicador -N o –deselect con el comando mostrará los procesos que no están asociados con la terminal actual.
ps -T -N
ps -T --deselect
Mostrar columnas personalizadas en la salida
El comando ps predeterminado muestra las siguientes columnas: PID, TTY, TIME y CMD. Sin embargo, puede modificar estas columnas y mostrar otros detalles en su lugar.
El indicador -eo le permite especificar las columnas que desea obtener en la salida.
ps -eo pid, uname, pcpu, stime, pri, f
Cambiar el nombre de las columnas en la salida
También puede cambiar el nombre de las etiquetas de las columnas en la salida. La bandera -o le permitirá hacer esto.
ps -e -o pid=Process_ID, uid=User_ID, com=COMMAND
Enumere los procesos actualmente en ejecución
Para obtener una lista de los procesos que se están ejecutando actualmente en su sistema, pase la marca -ax con el comando ps. La -a significa Todo .
ps -ax
Procesos de visualización en formato BSD
El formato de Linux para pasar argumentos con el comando utiliza el carácter – (guión). Por otro lado, el formato BSD no incluye ningún carácter especial con las banderas de argumento.
Por ejemplo, ps -A (formato Linux) mostrará una lista de todos los procesos. El equivalente BSD de este comando es:
ps au
donde a significa Todos y u denota usuarios.
Listado de procesos en formato completo
Para obtener información detallada relacionada con los procesos, pase la opción -ef o -eF con el comando.
ps -ef
ps -eF
La salida mencionada anteriormente contiene la siguiente información sobre los procesos.
- UID : el ID de usuario del usuario responsable del proceso.
- PID : el ID de proceso de la entrada
- PPID : el ID de proceso del proceso principal
- C : información de programación y uso de CPU relacionada con el proceso
- STIME : Hora en que se inició el proceso
- TTY : el nombre de la terminal que estás usando actualmente
- TIEMPO : cantidad de tiempo de CPU utilizado por el proceso
- CMD : el comando que ejecutó el proceso
Obtenga una lista de procesos relacionados con un usuario
La opción -u muestra una lista de todos los procesos iniciados por un usuario específico.
ps -u username
Mostrar procesos relacionados con el usuario raíz
Para mostrar todos los procesos que ejecuta el usuario root, pase root con los indicadores -U y -u .
ps -U root -u root
Obtenga un PID de proceso
Para obtener el ID de proceso de un proceso en particular, use el indicador -C con el comando.
ps -C process-name
Reemplace nombre-proceso con el nombre del proceso. La salida mostrará el ID del proceso.
ps -C bash
Enumere los hilos de un proceso específico
Es posible que sepa que un proceso puede contener varios subprocesos, cada uno responsable de una tarea específica. Para mostrar una lista de los subprocesos de un proceso, use la bandera -L con el comando ps. Tenga en cuenta que deberá pasar el ID de proceso del proceso junto con el comando.
ps -L pid
Por ejemplo
ps -L 1250
Proceso de visualización asociado a un grupo particular
Obtener una lista de procesos relacionados con un determinado grupo también es fácil. Utilice el indicador -fG con el comando predeterminado.
ps -fG groupname
Alternativamente, también puede pasar el ID del grupo en lugar del nombre del grupo.
ps -fG groupid
Por ejemplo
ps -fG sudoers
ps -fg 1000
Mostrar procesos en formato de árbol
Para obtener una representación de árbol jerárquica de los procesos en ejecución en Linux:
ps -f --forest -C bash
El comando mencionado anteriormente mostrará todos los procesos relacionados con bash.
Supervisión de procesos en ejecución en Linux
Saber qué procesos se están ejecutando en su computadora puede resultar útil si tiene pocos recursos. Puede eliminar fácilmente los procesos de Linux que no responden y que no desea en su sistema utilizando la línea de comandos.
Para aquellos que tienen computadoras de gama baja y quieren un sistema operativo que ofrezca un rendimiento fluido, hay muchas distribuciones ligeras de Linux disponibles.