Es muy importante finalizar los procesos de Linux de manera adecuada para evitar que Linux se cuelgue sin ningún rastro en el archivo de registro del sistema. En resumen, Linux se colgará sin indicar los motivos en el registro del sistema, cuando el proceso maestro (init, PID 1) se sobrecargue con demasiados procesos huérfanos de una sola vez.
Habiendo dicho eso, ¡un usuario normal que tiene acceso a su servidor Linux es posible que elimine fácilmente su servidor Linux en un minuto!
¿Cómo podríamos detectar y descubrir un proceso fuera de control o un proceso huérfano? Hay una discusión sobre el proceso huérfano zombie VS, los procesos huérfanos se identifican como:
procesos que no son del sistema o procesos del usuario que tienen un PPID (ID de proceso principal) de 1 (ID de proceso inicial), a través de un mecanismo conocido como re-parenting.
No hay muchos procesos propiedad del proceso init. Aparentemente, la mayoría de los procesos del sistema que se ejecutan después de que el sistema se inicia tienen PPID 1.
Entonces, poco después de que se inicie el sistema Linux, puede ejecutar este comando:
ps -elf | head -1; ps -elf | awk '{if ($5 == 1) {print $0}}'
El comando toma instantáneas de todos los procesos con PPID 1. Mantenga ese resultado. A partir de entonces, puede ejecutar periódicamente el comando para comparar el resultado del tiempo con la instantánea tomada anteriormente. Cualquier diferencia que se encuentre en la nueva instantánea podría ser potencialmente un proceso huérfano.
Tenga en cuenta que las diferencias encontradas solo sugieren que son procesos huérfanos potenciales (no confirmados) en el sistema Linux. Debe obtener más información para confirmarlos antes de finalizar esos procesos. Por ejemplo, cómo figura STIME, la utilización de la CPU, comprender su propósito de ejecución, etc.
Una vez que los haya confirmado, no debe dudar en terminarlos lo antes posible, mediante el comando kill -9, ya que los procesos huérfanos agotarán los recursos de su sistema Linux con el tiempo.