Was tun, wenn kill -9 nicht funktioniert?

Was tun, wenn kill -9 nicht funktioniert?

Ich habe einen lästigen Prozess (in diesem Fall einen gestrandeten Prozess, der im iPhone-Simulator laufen sollte (jetzt schon lange beendet).

97442 ??         0:00.00 (MyProcess)

Ich habe alles versucht, was mir einfällt, einschließlich

sudo kill -9 97442
sudo kill -HUP 97442

Und doch bleibt der Prozess wie beim Raben bestehen.

In diesem Fall bedeutet das, dass ich meinen Computer neu starten muss, um weiterarbeiten zu können.

Antwort1

Wenn ein Prozess in der Prozesstabelle verbleibt, wie dies bei diesem Prozess der Fall ist, müssen Sie ihn beenden.ElternteilProzess. Suchen Sie zuerst die PID des übergeordneten Prozesses:

ps -eo 'pid,ppid,comm' | grep 97442

Dann rennen Sie kill <pid>, egal, was ppiddabei herauskommt. (Geben Sie ihm zunächst die Chance, sauber zu sterben.)

Das traditionelle Unix-Design hält Prozessinformationen für dieElternzum Ernten und Aufräumen, falls die übergeordneten Prozesse ausgeführt werden sollen, um die Ressourcennutzung ihrer untergeordneten Prozesse oder ihren Beendigungsstatus usw. getrusage(2)herauszufinden .wait(2)

Wenn Eltern ihre Kinder nicht ernten, bleiben die Kinder Zombies – BIS der Elternprozess beendet wird. An diesem Punkt wird der Kernel die Kinder erneut zuordnen init(8).init(8) Willeernten Sie die Kinder mit den neuen Eltern.

verwandte Informationen