Un proceso es la ejecución de un programa, se inicia cada vez que se abre una aplicación o se ejecuta un comando desde el terminal de línea de comandos.
A cada proceso de Linux se le asigna un PID (id de proceso) único.
Todos los servidores tienen procesos en ejecución todo el tiempo, y saber cómo supervisarlos y terminarlos es una habilidad importante para cualquier administrador.
Hay algunas formas de enumerar todos los procesos que se ejecutan en un servidor Linux
Vea a continuación:
Monitorear procesos
Hay varias formas de monitorear y enumerar procesos en un servidor, y las más comunes son los comandos top y ps.
El comando ps muestra una lista estática de procesos activos cuando se ejecuta.
Mientras que el comando top ordena los procesos por uso de CPU.
Ambos comandos proporcionan informaciones como el ID de proceso (PID), los recursos utilizados, el estado del proceso, el nombre del programa, la jerarquía de los procesos, el usuario responsable y los argumentos utilizados para ejecutar los programas.
Son herramientas útiles para supervisar el sistema, resolver problemas e identificar fallos de rendimiento.
Consulta cómo usar el:
Comando ps
Al ejecutar el comando ps, se muestra una lista básica de los procesos en ejecución, con cuatro columnas principales: PID (ID de proceso), TTY (terminal asociado), TIME (tiempo de ejecución) y CMD (comando que inició el proceso).
Compruebe cómo hacerlo:
1Acceda al WHM - Si es necesario, consulte cómo hacerlo
2En la barra de búsqueda, busque Terminal y haga clic en la opción encontrada
3Vea los principales usos del comando ps:
-
Para obtener informaciones más detalladas sobre los procesos en ejecución, escriba el comando:
ps aux
-
Si desea visualizar detalles específicos del proceso con el PID (ID de proceso):
ps -p <PID>
Reemplace <PID> con el número PID del proceso deseado
-
Para enumerar los procesos de Linux en orden jerárquica:
ps –axjf
-
Para enumerar todos los procesos en ejecución en formato de árbol:
ps axf
-
Enumerar los procesos en ejecución, incluido el uso de CPU y memoria:
ps aux --sort=-%cpu,%mem
-
Exhibir todos los procesos para el usuario actual:
ps -u <usuário>
Reemplazar <usuário> con nombre de usuario
-
Enumerar solo los nombres de los procesos en ejecución:
ps -eo comm
-
Exhibir informaciones sobre los procesos, incluido el tiempo de ejecución:
ps -e -o pid,ppid,cmd,%cpu,%mem,etimes
Comando top
El comando top se utiliza para identificar los procesos que consumen demasiados recursos. Enumera los procesos en orden de uso de la CPU, mostrando los que más consumen en la parte superior. También es útil para comprobar si un proceso específico está activo.
Compruebe cómo hacerlo:
1Acceda al WHM - Si es necesario, consulte cómo hacerlo
2En la barra de búsqueda, busque Terminal y haga clic en la opción encontrada
3A continuación, introduzca el siguiente comando:
top
4La pantalla do top muestra informaciones detalladas sobre los procesos del servidor. Vea en detalle a lo que muestra cada sección:
A) Primera línea: informa el tiempo de actividad y la carga de la CPU
-
Hora actual (up): Muestra la hora actual en el servidor
-
Tiempo de actividad (days): muestra cuánto tiempo está encendido el servidor
-
Usuarios registrados (user): Número de usuarios que han iniciado sesión actualmente
-
Promedio de carga (Load average): Indica el consumo promedio de CPU:
-
Último minuto, últimos 5 minutos y últimos 15 minutos
-
Un valor de 1,00 significa el uso del 100% de una CPU
B) Segunda línea: Información sobre las tareas
-
Total: Número total de casos
-
Running: Procesos en ejecución
-
Sleeping: Procesos en espera de recursos
-
Stopped: Procesos que se están finalizando
-
Zombie: Procesos a la espera de cierre completo. Por lo general, los procesos de tipo zombi representan un proceso que termina abruptamente. Algunos pueden ocurrir ocasionalmente, pero deben evitarse
C) Tercera línea: uso de la CPU
-
us: Tiempo dedicado a los procesos del usuario
-
sy: Tiempo empleado por el kernel
-
ni: Porcentaje de tiempo dedicado a realizar tareas para las que NICE se configuró manualmente. (NICE representa la prioridad de un proceso, lo veremos más adelante)
-
id: Tiempo de inactividad
-
wa: Tiempo de espera de E/S (entrada y salida)
-
hi: Tiempo invertido en interrupciones de hardware
-
si: Tiempo empleado en interrupciones de software
-
st: Tiempo de CPU virtual en espera de acceso a la CPU física
D) Cuarta línea: informa a la Memoria
MiB Mem se refiere a la memoria física utilizada, con el valor basado en la memoria RAM instalada en el sistema:
-
Total: Cantidad total de RAM del servidor
-
Free: Memoria disponible
-
Used: Memoria en uso
-
Buff/caché: Memoria utilizada para el almacenamiento en caché o datos temporales
E) Quinta línea: informa a la Memoria
Informaciones sobre la memoria swap utilizada por el servidor. Esta memoria es utilizada por la RAM en situaciones en las que es más rápido almacenar datos en ella que en la memoria física del sistema.
-
Total: Cantidad total de intercambio de servidor
-
Free: Intercambio disponible
-
Used: Swap en uso
-
Buff/caché: Datos temporales swap
Por último, el comando top ofrece informaciones sobre los procesos que se están ejecutando en tiempo real en el servidor en una tabla. Compruebe lo que significa cada columna de la parte superior a continuación:
-
A) PID: ID de proceso
-
B) USER: Usuario que inició el proceso.
-
C) PR y NI: Prioridad y valor del proceso.
-
D) VIRT, RES y SHR: Memoria virtual, física y compartida utilizada por el proceso.
-
E) S: Estado del proceso (en ejecución, en suspensión, etc.).
-
F) %CPU: porcentaje de tiempo de CPU dedicado a la ejecución del proceso
-
G) %MEM: porcentaje de memoria de CPU utilizada para ejecutar el proceso.
-
H) TIME+: Tiempo total de ejecución de la CPU en centésimas de segundo.
-
I) COMANDO: Nombre del proceso u comando.
Además, hay algunos comandos dentro de la parte superior que se pueden ejecutar:
-
M: Ordenar procesos por uso de memoria (%MEM) en orden descendente
-
P: Ordene los procesos en orden descendente por uso de CPU (%CPU)
-
u: Filtra los procesos para un usuario específico
-
q: Sale de la interfaz superior
-
c: Muestra la ruta absoluta de un proceso
-
d: Cambia el intervalo de tiempo de actualización
Para obtener más detalles, consulte el manual de uso del comando top (en ingles)
Terminar processos
Para terminar (cerrar) un proceso es usado el comando kill
Este comando es útil para detener:
-
Procesos automatizados
-
Proceso que se inició por accidente
-
Proceso que utiliza demasiada memoria
-
Proceso en ejecución
Para ver la guía del usuario de kill, ejecute el siguiente comando:
man kill
1Antes de ejecutar el comando para finalizar el proceso, necesita saber:
A) PID: Para mostrarlo, ejecute el comando:
ps
B) Número de la señal: Linux ofrece varias señales para detener, terminar o pausar procesos. Puede ver todas las señales disponibles usando el comando:
kill -l
Esto mostrará una lista con los signos y sus respectivos números.
Aunque hay muchos, los más utilizados son:
-
SIGKILL (9): Obliga a la terminación inmediata del proceso. Debe usarse con precaución, ya que puede causar problemas con el servidor si se usa incorrectamente.
-
SIGTERM (15): Solicita el cierre del proceso de forma segura, permitiéndole finalizar sus tareas.
2Una vez que conozca estas informaciones, para finalizar un proceso con el comando kill utilice la siguiente sintaxis:
$ kill -[número de señal] [PID del proceso]
Reemplace [número de señal] y [PID de proceso] con los números deseados, por ejemplo, kill -9 63772
Si desea finalizar varios procesos, la sintaxis es:
kill [número de señal] PID1 PID2 PID3
Por ejemplo:
kill -9 63772 45116 23465