logo

Tötungsbefehl

Was ist ein Kill-Befehl?

Linux ist ein fortschrittliches und großartiges Betriebssystem. Allerdings ist es nicht perfekt. Einige Anwendungen könnten anfangen, sich unvorsichtig zu verhalten und unempfindlich zu werden oder mehrere Systemressourcen zu verbrauchen.

Unempfindliche Anwendungen können nicht neu gestartet werden, da der eigentliche Anwendungsprozess nie vollständig abstürzt. Eine einzige Lösung besteht darin, entweder das System neu zu starten oder den Prozess der Anwendung abzubrechen.

Liste in Java

Es gibt verschiedene Dienstprogramme, mit denen wir fehlerhafte Prozesse beenden können töten Befehl. Dieser Befehl wird am häufigsten unter Linux verwendet.

In Linux , kann der Kill-Befehl (innerhalb von /bin/kill) als integrierter Befehl definiert werden.

Es wird zum manuellen Beenden der Prozesse verwendet. Das Verhalten des Kill-Befehls unterscheidet sich geringfügig zwischen den Shells und dem /bin/kill eigenständige ausführbare Datei.

Wir können den Typbefehl anwenden, um jeden Ort auf unserem System anzuzeigen, der kill enthält:

 $ type -a kill 

Tötungsbefehl

Der Kill-Befehl überträgt ein Signal an einen Prozess, der den Prozess weiter beendet. Wenn der Benutzer kein Signal beschreibt, das mit dem Kill-Befehl übertragen werden soll, dann wird der BEGRIFF Es wird ein Signal (Standard) übertragen, das den Vorgang beendet. Wenn das Signal nicht beschrieben ist, wird es standardmäßig verwendet -fünfzehn ( -BEGRIFF ).

Die am häufigsten verwendeten Signale sind wie folgt:

    HUP (1)-Es lädt einen Prozess neu.TÖTEN (9)-Es tötet einen Prozess.LAUFZEIT (15)-Es stoppt einen Prozess ordnungsgemäß.

Wir können den Kill-Befehl zusammen mit dem verwenden -l Option zum Abrufen der Liste aller verfügbaren Signale:

 $ kill -l 

Tötungsbefehl

Diese Signale können auf drei verschiedene Arten beschrieben werden. Diese Möglichkeiten sind unten aufgeführt:

  • Nach Zahl (z. B. -6)
  • Ohne SIG-Präfix (z. B. -kill)
  • Mit SIG-Präfix (z. B. -SIGkill)

Die folgenden Befehle ähneln einander:

  • $ kill -SIGHUP PID_NUMBER
  • $ kill -HUP PID_NUMBER
  • $ kill -1 PID_NUMBER

Die dem Kill-Befehl zugewiesenen PIDs können eine der folgenden sein:

  1. Das Signal wird zusammen mit einer ID ähnlich der PID an den Prozess übertragen, wenn die PID größer als Null ist.
  2. Das Signal wird an jeden Prozess innerhalb der aktuellen Prozessgruppe übertragen, wenn der PID gleich Null ist. Dies bedeutet, dass das Signal an jeden Prozess im Zusammenhang mit der Shell-GID übertragen wird, der den Kill-Befehl anfordert. Wir können das anwenden ps -efj Befehl zum Anzeigen der IDs der Prozessgruppe (GIDs).
  3. Das Signal wird an jeden Prozess zusammen mit der ähnlichen UID übertragen wie ein Benutzer, der den Befehl anfordert, wenn die PID gleich -1 ist. Wenn der anfordernde Benutzer der Root ist, wird das Signal an jeden Prozess außer dem Kill- und Init-Prozess übertragen.
  4. Das Signal wird an jeden Prozess innerhalb der Prozessgruppe zusammen mit der GID übertragen, ähnlich dem Absolutwert der PID, wenn die PID kleiner als -1 ist.

Normale Benutzer können Signale an ihre Prozesse übertragen. Es umfasst jedoch nicht die Benutzer, die mit anderen Benutzern verwandt sind. Andererseits ist der Root-Benutzer in der Lage, das Signal an die Prozesse des anderen Benutzers weiterzuleiten.

  • Die PID von -1 ist sehr eindeutig, da sie jeden Prozess außer init und kill angibt, die ein übergeordneter Prozess jedes Prozesses im System sind.
  • Negative PID-Werte werden zur Angabe der Prozessgruppen-ID verwendet. Wenn wir eine Prozessgruppen-ID übergeben, erhält jeder Prozess innerhalb dieser Gruppe das Signal.
  • Um die Liste der laufenden Prozesse anzuzeigen, können wir den Befehl ps verwenden. Dieser zeigt uns die laufenden Prozesse zusammen mit der PID-Nummer an. Wir müssen die PID angeben, um anzugeben, welcher Prozess das Signal des Kill-Befehls erhalten soll.

Syntax:

 $ps 

Tötungsbefehl

PS an: Dieser Befehl wird verwendet, um jeden laufenden Prozess zusammen mit seinen PIDs und anderen Details anzuzeigen. Falls wir die Prozess-ID nicht kennen, können wir diesen Befehl verwenden.

Tötungsbefehl

Optionen des Kill-Befehls

1. kill -l: Diese Option wird zum Anzeigen aller vorhandenen Signale verwendet. Wir können die folgende Befehlsoption anwenden:

Zeichenfolge Java hinzufügen

Syntax:

 $kill -l 

Tötungsbefehl

2. PID töten: Diese Option wird verwendet, um zu zeigen, wie die PID zusammen mit dem Kill-Befehl angewendet wird.

Syntax:

 $kill pid 

Tötungsbefehl

3. töten -L: Mit dem Befehl kill -L können die vorhandenen Signale in einem Tabellenformat aufgelistet werden.

Syntax:

 /bin/kill -L 

Tötungsbefehl

4. Signalnummer übersetzen: Mit dem folgenden Befehl können wir jede Signalnummer ganz einfach in einen Signalnamen übersetzen:

 /bin/kill --list=12 

Tötungsbefehl