Androide

Comando Ps en Linux (procesos de lista)

Administración de Procesos en Linux

Administración de Procesos en Linux

Tabla de contenido:

Anonim

En Linux, una instancia en ejecución de un programa se llama proceso. Ocasionalmente, cuando trabaje en una máquina Linux, es posible que necesite averiguar qué procesos se están ejecutando actualmente.

Hay varios comandos que puede usar para buscar información sobre los procesos en ejecución, siendo ps , pstree y top los más utilizados.

Este artículo explica cómo usar el comando ps para enumerar los procesos que se ejecutan actualmente y mostrar información sobre esos procesos.

Cómo usar el comando ps

La sintaxis general para el comando ps es la siguiente:

ps

Por razones históricas y de compatibilidad, el comando ps acepta varios tipos diferentes de opciones:

  • Opciones de estilo UNIX, precedidas por un solo guión. Opciones de estilo BSD, utilizadas sin guión. Opciones largas GNU, precedidas por dos guiones.

Se pueden mezclar diferentes tipos de opciones, pero en algunos casos particulares, pueden aparecer conflictos, por lo que es mejor quedarse con un tipo de opción.

Las opciones BSD y UNIX se pueden agrupar.

En su forma más simple, cuando se usa sin ninguna opción, ps imprimirá cuatro columnas de información para un mínimo de dos procesos que se ejecutan en el shell actual, el propio shell y los procesos que se ejecutan en el shell cuando se invoca el comando.

ps

El resultado incluye información sobre el shell ( bash ) y el proceso que se ejecuta en este shell ( ps , el comando que escribió):

PID TTY TIME CMD 1809 pts/0 00:00:00 bash 2043 pts/0 00:00:00 ps

Las cuatro columnas están etiquetadas PID , TTY , TIME y CMD .

  • PID : la ID del proceso. Por lo general, cuando se ejecuta el comando ps , la información más importante que busca el usuario es el PID del proceso. Conocer el PID le permite matar un proceso que no funciona correctamente. TTY : el nombre del terminal de control para el proceso. TIME : el tiempo de CPU acumulado del proceso, que se muestra en minutos y segundos. CMD : el nombre del comando que se utilizó para iniciar el proceso.

El resultado anterior no es muy útil ya que no contiene mucha información. El poder real del comando ps viene cuando se inicia con opciones adicionales.

El comando ps acepta una gran cantidad de opciones que se pueden usar para mostrar un grupo específico de procesos e información diferente sobre el proceso, pero solo se necesitan unos pocos en el uso diario.

ps se usa con mayor frecuencia con la siguiente combinación de opciones:

Forma BSD:

ps aux

  • La opción a le dice a ps que muestre los procesos de todos los usuarios. Solo no se muestran los procesos que no están asociados con un terminal y los procesos de los líderes de grupo. u representa un formato orientado al usuario que proporciona información detallada sobre los procesos. La opción x indica a ps que enumere los procesos sin un terminal de control. Esos son principalmente procesos que se inician en el momento del arranque y se ejecutan en segundo plano.

El comando muestra información en once columnas etiquetadas como USER , PID , %CPU , %MEM , VSZ , RSS , STAT , START , TTY , TIME y CMD .

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.8 77616 8604 ? Ss 19:47 0:01 /sbin/init root 2 0.0 0.0 0 0 ? S 19:47 0:00…

Ya explicamos las etiquetas PID , TTY , TIME y CMD . Aquí hay una explicación de otras etiquetas:

  • USER : el usuario que ejecuta el proceso. %CPU : la utilización de la CPU del proceso. %MEM : el porcentaje del tamaño de conjunto residente del proceso en la memoria física de la máquina. VSZ : tamaño de memoria virtual del proceso en KiB. RSS : el tamaño de la memoria física que utiliza el proceso. STAT : el código de estado del proceso, como Z (zombie), S (en reposo) y R (en ejecución). START - La hora en que comenzó el comando.

La opción f le dice a ps que muestre una vista de árbol de los procesos padre a hijo:

ps auxf

El comando ps también le permite ordenar la salida. Por ejemplo, para ordenar la salida en función del uso de memoria, usaría:

ps aux --sort=-%mem

Forma UNIX:

ps -ef

  • La opción -e indica a ps que muestre todos los procesos. -f es una lista de formato completo, que proporciona información detallada sobre los procesos.

El comando muestra información en ocho columnas etiquetadas como UID , PID , PPID , C , STIME , TIME y CMD .

UID PID PPID C STIME TTY TIME CMD root 1 0 0 19:47 ? 00:00:01 /sbin/init root 2 0 0 19:47 ? 00:00:00…

Las etiquetas que aún no se explican tienen el siguiente significado:

  • UID : igual que el USER , el usuario que ejecuta el proceso. PPID : la ID del proceso principal. C - Igual que %CPU , el proceso de utilización de la CPU. STIME - Igual que START , la hora en que se inició el comando.

Para ver solo los procesos que se ejecutan como un usuario específico, escriba el siguiente comando, donde linuxize es el nombre del usuario:

ps -f -U linuxize -u linuxize

Formato definido por el usuario

La opción o permite especificar qué columnas se muestran al ejecutar el comando ps .

Por ejemplo, para imprimir información solo sobre el PID y el COMMAND , debe ejecutar uno de los siguientes comandos:

ps -efo pid, comm

ps auxo pid, comm

Usando ps con otros comandos

ps se puede usar en combinación con otros comandos a través de tuberías.

ps -ef | less

La salida del comando ps se puede filtrar con grep . Por ejemplo, para mostrar solo el proceso que pertenece al usuario raíz que ejecutaría:

ps -ef | grep root

Conclusión

El comando ps es uno de los comandos más utilizados cuando se solucionan problemas en sistemas Linux. Tiene muchas opciones, pero por lo general, la mayoría de los usuarios utilizan ps aux o ps -ef para recopilar información sobre los procesos en ejecución.

Para obtener más información sobre ps , escriba man ps en su terminal.

terminal ps