Hubo otros desarrolladores registrados como root que quería eliminar.
Entonces emití
pkill -KILL -u root
Entonces me di cuenta de que probablemente eliminé todo tipo de procesos raíz.
¿He dañado mi sistema? No puedo alcanzarlo a través de SSH ahora.
ACTUALIZACIÓN: el servidor web todavía se está ejecutando. Pero no puedo conectarme por SSH ahora. No tengo idea de lo que he hecho.
Respuestas:
Una respuesta rápida es que mató a sshd (y Dios sabe qué más) y no podrá volver a iniciar sesión en el sistema utilizando SSH. A menos que tenga algún otro método para obtener acceso al sistema (como una consola remota, IPMI, etc.), deberá reiniciar el sistema que restaurará el servicio SSH y otros servicios.
Esperemos que tenga acceso físico a la caja, en cuyo caso probablemente solo necesite presionar el botón de encendido. Date cuenta de que mataste muchos procesos y prepárate para la corrupción. Linux está diseñado para recuperarse de un bloqueo del sistema, y esencialmente desencadenó un bloqueo 'manual'. La mayoría de las cosas deberían recuperarse bien después de un reinicio. Puede tener todo tipo de mensajes de error interesantes en los archivos de registro.
Respuesta larga:
Este es un gran experimento mental y una buena pregunta para una entrevista de trabajo. "¿Qué sucede si hiciste X ...?" Es algo divertido de probar en tu propia máquina virtual privada, pero nunca se debe hacer en una caja real. Todos cometemos errores. Recuerda y aprende de tu error. Cometer errores es la mejor manera de aprender. Cometer errores en la producción es una lección dolorosa que sucederá ocasionalmente en su carrera.
Este comando enviará un 'SIGKILL' (por ejemplo,
kill -9
KILL es un alias para SIGKILL) a todos los procesos propiedad de root. Es algo muy malo hacer en un sistema.kill -9
debe evitarse excepto como último recurso.Su comando mató agresivamente todos los procesos propiedad de root, los procesos se eliminaron de inmediato y no se les dio la oportunidad de limpiar. Para tener una idea de lo que mató, inicie sesión en un cuadro de Linux saludable y enumere los procesos que posee root, usando un comando como uno de estos. Por lo general, no necesita ser root para ejecutar estos comandos:
Es posible que haya matado a Init (PID # 1) que genera nuevos procesos. Es posible que su sistema no pueda crear nuevos procesos. Por lo tanto, puede continuar funcionando por ahora, pero está enfermo y debe repararse lo antes posible. A medida que pasa el tiempo, el sistema se enfermará cada vez más. Cuanto más esperes, peor será.
Supongo que estás usando Apache. Parece que los procesos secundarios del servidor web todavía se están ejecutando porque no son propiedad del usuario 'root'. Sin embargo, el proceso del servidor web principal normalmente es propiedad de root y lo eliminó. Como resultado, no se generarán nuevos procesos secundarios. Esto estará bien por un tiempo, porque probablemente tenga suficientes procesos secundarios para atender solicitudes, y típicamente esos procesos secundarios persistirán hasta que se eliminen o se bloqueen. Nuevamente, la solución más rápida es reiniciar la máquina.
fuente
Lo más probable es que tenga que reiniciar su sistema, ya que ha matado a casi todos los servicios críticos en él. Cómo lo haga depende de las herramientas que tenga o del transporte que tenga para llegar al centro de datos.
fuente
El sistema se está ejecutando porque el kernel se está ejecutando. No puedes acceder a sshd porque has matado al demonio. Probablemente init también haya finalizado, lo que significa que no puede crear nuevos procesos. Por lo tanto, es posible que no se establezcan nuevas conexiones apache (parámetros de configuración aplicados;)).
No puede enviar una señal a los hilos del kernel, es por eso que el sistema se está ejecutando, pero los servicios propiedad de la raíz se han cancelado y, para una resurrección normal, debe reiniciarlo.
fuente