Ich habe diese Frage gestellt, weil ich überrascht war, dass sie nicht direkt beantwortet wurde. Entschuldigung, wenn dies ein Duplikat ist - ich habe gesucht!
Ich habe das gehört kill -9
oder kill -SIGKILL
bin schlecht, aber ich verstehe nicht warum. Wenn ich nicht sollte, kill -9
was sollte ich tun, um einen Prozess zu beenden?
kill -9
it ", OP sagt " great, that works! Ich werde mich von jetzt an daran erinnern! " Und B warnt " waitkill -9
is dangerous! " Erst nachträglich.Antworten:
SIGKILL
Zieht den Teppich aus dem laufenden Prozess heraus und beendet ihn sofort. Für sehr einfache Programme ist dies in Ordnung. In der Praxis gibt es jedoch nur sehr wenige "einfache" Programme.Unter dem Deckmantel erledigen sogar trivial anmutende Programme alle Arten von Transaktionsarbeit, die sie vor dem Beenden bereinigen müssen (denken Sie an den
finally
Block in Java und anderen Programmiersprachen), wie das Schließen von Ressourcen-Handles, das Löschen temporärer Dateien und das Löschen von Daten aus Speicher auf Festplatte. Sie können nicht vorhersagen, wann ein Programm so etwas tut.Wenn Sie Glück haben, werden Sie nichts falsches bemerken, wenn Sie eine senden
SIGKILL
, aber Sie können nicht für immer Glück haben, und Sie wissen möglicherweise nicht, dass etwas schief gelaufen ist, bis es zu spät ist, um das Verlorene wiederzugewinnen.Sie sollten fast nie eine senden
SIGKILL
müssen und Sie sollten sicher sein, dass Sie Ihre Alternativen ausgeschöpft haben, bevor Sie dies tun. In vielen Fällen ist ein Neustart (der schließlichSIGKILL
s an Programme sendet , die sich nicht richtig verhalten) sicherer als das manuelle Senden eines eigenen ProgrammsSIGKILL
. Ich kann wahrscheinlich die Anzahl der an einer Hand abzählen Ich habe benötigt eine sendenSIGKILL
(und wahrscheinlich alle meine eigenen machen).Im Allgemeinen können Sie Ctrl+ C(das den Vordergrundprozess a sendet
SIGINT
) oderSIGTERM
(wie in "terminate") verwenden, um einen Prozess anzuweisen, anzuhalten, was er tut, und zu beenden.Einige weitere Lektüre:
kill
Signalen-9
bedeutetkill
Signale zu sendenquelle