Administración de Procesos en Linux
Tabla de contenido:
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 comandops, 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
psque 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.urepresenta un formato orientado al usuario que proporciona información detallada sobre los procesos. La opciónxindica apsque 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, comoZ(zombie),S(en reposo) yR(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
-eindica apsque muestre todos los procesos.-fes 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 elUSER, 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 queSTART, 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:
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
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:
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.
¿Qué procesos son seguros para cerrar?
En el foro de la línea de respuesta flingwings67 preguntó acerca de la "lista de procesos" de Task Manager. ¿Cómo sabe cuáles? ¿puede cerrar con seguridad?
Use el explorador de procesos para analizar los procesos del administrador de tareas
Utilice el Explorador de procesos para analizar los procesos del Administrador de tareas
Comando Ls en Linux (lista de archivos y directorios)
El comando ls es uno de los comandos básicos que cualquier usuario de Linux debería conocer. Se utiliza para enumerar información sobre archivos y directorios dentro del sistema de archivos.







