Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Was bedeutet töten?

Was bedeutet töten?

little bottle
little bottleOriginal
2019-05-15 10:30:5931533Durchsuche

Was bedeutet töten?

Der Kill-Befehl unter Linux wird verwendet, um den Betrieb eines bestimmten Prozesses zu beenden (Terminieren eines Prozesses ist ein gängiger Befehl für die Prozessverwaltung unter Linux). kill sendet ein bestimmtes Signal (Signal) an den Prozess mit der Prozess-ID pid und führt bestimmte Aktionen basierend auf dem Signal aus. Wenn nicht angegeben, wird standardmäßig ein Beendigungssignal (TERM) gesendet.


Um einen Vordergrundprozess zu beenden, können Sie normalerweise die Tasten Strg+C verwenden. Für einen Hintergrundprozess müssen Sie jedoch den Befehl kill verwenden, um ihn zu beenden. Wir müssen zuerst ps/pidof/pstree/top verwenden. Warten Sie, bis das Tool die Prozess-PID erhält, und verwenden Sie dann den Befehl kill, um den Prozess abzubrechen. Der Kill-Befehl beendet den entsprechenden Prozess, indem er ein bestimmtes Signal an den Prozess sendet.

1. Befehlsformat:

kill[parameter][prozessnummer]

2. Befehlsfunktion :

sendet das angegebene Signal an den entsprechenden Prozess. Wenn kein Modell angegeben wird, wird SIGTERM (15) gesendet, um den angegebenen Prozess zu beenden. Wenn das Programm nicht beendet werden kann, können Sie den Parameter „-KILL“ verwenden. Das von ihm gesendete Signal ist SIGKILL (9), wodurch das Ende des Prozesses erzwungen wird. Verwenden Sie den Befehl ps oder jobs, um die Prozessnummer anzuzeigen. Der Root-Benutzer wirkt sich auf den Prozess des Benutzers aus, und Nicht-Root-Benutzer können nur ihren eigenen Prozess beeinflussen.

3. Befehlsparameter:

-l Signal, wenn Sie den Signalnummernparameter nicht hinzufügen, werden mit dem Parameter „-l“ alle Signalnamen aufgelistet

-a Bei der Verarbeitung des Stroms Während des Prozesses ist die Korrespondenz zwischen dem Befehlsnamen und der Prozessnummer nicht begrenzt

-p gibt an, dass der Kill-Befehl nur die Prozessnummer des relevanten Prozesses ausgibt, ohne ein Signal zu senden

- s gibt an, dass das Signal gesendet wird

-u Designierter Benutzer

Hinweis:

1 Der Kill-Befehl kann eine Signalnummeroption haben oder nicht . Wenn keine Signalnummer vorhanden ist, gibt der Kill-Befehl ein Beendigungssignal (15) aus, das vom Prozess erfasst werden kann, sodass der Prozess vor dem Beenden bereinigen und Ressourcen freigeben kann. Sie können kill auch verwenden, um bestimmte Signale an den Prozess zu senden. Zum Beispiel:

kill -2 123

Es hat den gleichen Effekt wie das Drücken von Strg+C, wenn der Prozess mit PID 123 im Vordergrund läuft. Normale Benutzer können den Kill-Befehl jedoch nur ohne den Signalparameter oder mit bis zu -9 Signalen verwenden.

2. Kill kann die Prozess-ID-Nummer als Parameter verwenden. Wenn Sie kill verwenden, um Signale an diese Prozesse zu senden, müssen Sie der Eigentümer dieser Prozesse sein. Wenn Sie versuchen, einen Prozess abzubrechen, für den Sie keine Berechtigung zum Abbrechen haben, oder einen Prozess abzubrechen, der nicht existiert, erhalten Sie eine Fehlermeldung.

3. Sie können Signale an mehrere Prozesse senden oder diese beenden.

4. Wenn kill das Signal erfolgreich sendet, zeigt die Shell die Informationen zur Prozessbeendigung auf dem Bildschirm an. Manchmal erscheint diese Meldung nicht sofort, bis die Eingabeaufforderung der Shell erneut angezeigt wird, wenn die Eingabetaste gedrückt wird.

5. Es ist zu beachten, dass das Signal dazu führt, dass der Prozess zwangsweise beendet wird, was oft einige Nebenwirkungen mit sich bringt, wie z. B. Datenverlust oder die Unfähigkeit des Terminals, in den Normalzustand zurückzukehren. Beim Senden von Signalen ist Vorsicht geboten und das Kill-Signal(9) sollte nur als letztes Mittel verwendet werden, da der Prozess es gar nicht erst abfangen kann. Um alle Hintergrundjobs abzubrechen, geben Sie kill 0 ein. Da einige im Hintergrund ausgeführte Befehle mehrere Prozesse starten, ist es sehr mühsam, die PIDs aller abzubrechenden Prozesse zu verfolgen und zu finden. Derzeit ist es eine effektive Methode, mit kill 0 alle von der aktuellen Shell gestarteten Prozesse zu beenden.

Das obige ist der detaillierte Inhalt vonWas bedeutet töten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Was bedeutet Pear Linux?Nächster Artikel:Was bedeutet Pear Linux?