Ich habe Prozess-ID in einer Datei "pid" Ich würde es gerne töten.
Etwas wie:
%Vor%Ich habe es versucht:
%Vor% aber es funktioniert nicht. Ich habe auch xargs
ausprobiert, kann mich aber nicht darum kümmern.
kill -9 $(cat pid)
oder cat pid | xargs kill -9
funktionieren beide
Du solltest langsam anfangen und dann zu den schweren Sachen gehen, um den Prozess zu beenden, wenn er nicht gut spielen will.
Ein SIGKILL-Signal (-9) kann nicht abgefangen werden, und das bedeutet, dass alle vom Prozess gehaltenen Ressourcen nicht bereinigt werden.
Versuchen Sie zuerst, einen Kill SIGTERM (-15) zu verwenden, und prüfen Sie dann noch, ob der Prozess noch vorhanden ist, indem Sie eine Kill-0 $ (cat pid) ausführen. Wenn es immer noch herumhängt, dann klimpern Sie es mit -9.
SIGTERM kann von einem Prozess abgefangen werden und jeder ordnungsgemäß geschriebene Prozess sollte einen Signalhandler haben, um das SIGTERM abzufangen und dann seine Ressourcen zu bereinigen, bevor es beendet wird.