GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Linux – Wann sollte ich keinen -9 A-Prozess beenden?

Ich zögere immer sehr, kill -9 auszuführen , aber ich sehe, dass andere Administratoren dies fast routinemäßig tun.

Ich denke, es gibt wahrscheinlich einen vernünftigen Mittelweg, also:

  1. Wann und warum sollte kill -9 verwendet werden? Wann und warum nicht?
  2. Was sollte vorher versucht werden?
  3. Welche Art des Debuggens eines hängengebliebenen Prozesses könnte weitere Probleme verursachen?

Akzeptierte Antwort:

Im Allgemeinen sollten Sie kill verwenden (kurz für kill -s TERM , oder auf den meisten Systemen kill -15 ) vor kill -9 (kill -s KILL ), um dem Zielprozess die Möglichkeit zu geben, nach sich selbst aufzuräumen. (Prozesse können SIGKILL nicht abfangen oder ignorieren , aber sie können SIGTERM abfangen und tun dies auch oft .) Wenn Sie dem Prozess keine Chance geben, seine Arbeit zu beenden und zu bereinigen, hinterlässt er möglicherweise beschädigte Dateien (oder andere Zustände), die er nach dem Neustart nicht mehr verstehen kann.

strace /truss , ltrace und gdb sind im Allgemeinen gute Ideen, um zu untersuchen, warum ein festgefahrener Prozess feststeckt. (truss -u auf Solaris ist besonders hilfreich; Ich finde ltrace präsentiert Argumente für Bibliotheksaufrufe zu oft in einem unbrauchbaren Format.) Solaris hat auch nützliches /proc -basierte Tools, von denen einige auf Linux portiert wurden. (pstack ist oft hilfreich).


Linux
  1. Wie beendet man einen Prozess unter Linux mit dem Befehl?

  2. kill-Befehlsbeispiele in Linux

  3. Linux:Finde und töte Zombie-Prozesse

  4. Linux-Skript zum Beenden des Java-Prozesses

  5. Wie man einen Prozess unter Linux anhält/fortsetzt

So beenden Sie einen Prozess in Linux

Kill-Befehl unter Linux

So beenden Sie Zombie-Prozesse in Linux

5 schnelle Möglichkeiten, einen Prozess in Linux zu beenden

So beenden Sie den laufenden Linux-Prozess auf einem bestimmten Port

Wie man einen Prozess unter Linux beendet