$ ls
bash: no more processes
UH oh. Parece que alguien hizo una bomba tenedor. Donde solía trabajar, esto significaba que el servidor compartido necesitaría un ciclo de encendido, ya que incluso los administradores de sistemas con root a menudo no podían solucionar el problema. A menudo, ni siquiera podían recibir un aviso.
He escuchado algunos trucos (en particular, para enviar señales de STOP en lugar de señales de KILL, ya que este último permitiría que los hilos restantes reemplacen inmediatamente a los muertos), pero nunca he visto una guía completa titulada So, You Have Yourself una bomba tenedor?
Hagamos uno.
0
y-1
, de acuerdo con opengroup.org/onlinepubs/009695399/functions/kill.html opengroup.org/onlinepubs/000095399/utilities/kill.htmlNo estoy seguro de cómo podría incluso enviar una señal de DETENCIÓN, desde el desove
kill
requeriría un controlador de proceso disponible. Además, en mi experiencia, los sistemas se sobrecargan y se vuelven inutilizables mucho antes de quedarse sin procesos.¿Ha considerado simplemente imponer límites de proceso por usuario
ulimit
? Eso evitaría que sus usuarios lancen bombas de horquilla (accidentalmente o no).fuente
Algunos sistemas BSD tienen la capacidad de reservar los últimos 5 procesos para la raíz. Quizás tu sistema tenga esa habilidad.
fuente