Wie man einen Linux -Prozess mit Kill, Pkill und Killall tötet

Wie man einen Linux -Prozess mit Kill, Pkill und Killall tötet

Linux -Betriebssystem wird mit einem geliefert Befehl töten einen Prozess beenden. Der Befehl ermöglicht es, den Server weiter auszuführen, ohne nach einer größeren Änderung/Aktualisierung neu zu starten. Hier kommt die große Kraft von Linux und dies ist einer der Gründe, warum Linux weiterläuft 96.4% von Servern auf dem Planeten.

Töten Der Befehl sendet ein Signal, ein bestimmtes Signal an einen aktuell laufenden Prozess. Der Befehl Kill kann auf verschiedene Weise direkt oder aus einem Shell -Skript ausgeführt werden.

[Möglicherweise mögen Sie es auch: Finden Sie die 15 Prozesse nach Speicherverbrauch mit "Top" im Stapelmodus]

Verwendung töten Befehl von /usr/Bin Geben Sie Ihnen eine zusätzliche Funktion zum Töten eines Prozesses per Prozessnamen mithilfe von zusätzlichen Funktionen Pkill.

Befehlsnutzung töten

Die gemeinsame Syntax für Befehl töten Ist:

# Töten Sie [Signal oder Option] PID (s)

Für ein Befehl töten A Signalname könnte sein:

Signalname Signalwert Verhalten Seufzer 1 Hangup Sigkill 9 Kill Signal Sigterm 15 ternen

Klar aus dem obigen Verhalten, Sigterm ist die Standard- und sicherste Art, einen Prozess zu töten. SEUFZEND ist eine weniger sichere Art, einen Prozess zu töten als Sigterm. Sigkill ist der unsicherste Weg unter den oben genannten drei, um einen Prozess zu töten, der einen Prozess beendet, ohne zu sparen.

Um einen Prozess zu töten, müssen wir die Prozess -ID eines Prozesses kennenlernen. A Verfahren ist eine Instanz eines Programms. Jedes Mal, wenn ein Programm startet, ist automatisch ein einzigartig PID wird für diesen Prozess erzeugt.

Jeder Prozess in Linux hat ein PID. Der erste Prozess, der beginnt, wenn das Linux -System gebootet ist - Init -Prozess, Daher wird es ein Wert von 'zugewiesen'1' in den meisten Fällen.

[Möglicherweise mögen Sie es auch: Sie müssen nur über Prozesse in Linux [umfassender Handbuch] wissen]

Drin ist der Master -Prozess und kann nicht auf diese Weise getötet werden, was sicherstellt, dass der Master -Prozess nicht versehentlich getötet wird. Drin entscheidet und lässt sich getötet, wo Kill lediglich eine Anfrage nach einer Abschaltung ist.

Listen Sie alle laufenden Linux -Prozesse auf

Alle Prozesse zu kennen und entsprechend deren zugewiesene PID, Führen Sie den folgenden PS -Befehl aus.

# ps -a
Probenausgabe
PID tty Time CMD 1 ? 00:00:01 init 2 ? 00:00:00 Khreadd 3 ? 00:00:00 Migration/0 4 ? 00:00:00 Ksoftirqd/0 5 ? 00:00:00 Migration/0 6 ? 00:00:00 Watchdog/0 7 ? 00:00:01 Ereignisse/0 8 ? 00:00:00 CGROUP 9 ? 00:00:00 Khelper 10 ? 00:00:00 NETNS 11 ? 00:00:00 Async/Mgr 12 ? 00:00:00 Uhr 13 ? 00:00:00 SYNC_SUPERS 14 ? 00:00:00 BDI-Default 15 ? 00:00:00 Kintegrityd/0 16 ? 00:00:00 Kblockd/0 17 ? 00:00:00 KACPID 18 ? 00:00:00 KACPI_NOTIFY 19 ? 00:00:00 KACPI_HOTPLUG 20 ? 00:00:00 ATA/0 21 ? 00:00:00 ATA_AUX 22 ? 00:00:00 KSUSPEND_USBD

Wie wäre es mit der Anpassung der obigen Ausgabe mit Syntax als 'PIDOF -Prozess''.

# Pidof Mysqld
Probenausgabe
1684

Eine andere Möglichkeit, das obige Ziel zu erreichen, besteht darin, der folgenden Syntax zu folgen.

# PS Aux | Grep Mysqld
Probenausgabe
Wurzel 1582 0.0 0.0 5116 1408 ? S 09:49 0:00/bin/sh/usr/bin/mysqld_safe - -datadir =/var/lib/mysql - -socket =/var/lib/mysql/mysql.SOCK-PID-FILE =/var/run/mysqld/mysqld.PID - -basiert.1 0.5 136884 21844 ? SL 09:49 1:09/usr/libexec/mysqld--basiert.log-pid-file =/var/run/mysqld/mysqld.pid - -socket =/var/lib/mysql/mysql.Sockenwurzel 20844 0.0 0.0 4356 740 Punkte/0 S+ 21:39 0:00 Grep Mysqld 

[Sie mögen auch mögen: So finden Sie Top 15 Prozesse nach Speicherverbrauch unter Linux]

Wie man einen Prozess unter Linux tötet

Bevor wir voran treten und eine ausführen Befehl töten, Einige wichtige Punkte zu beachten:

  • Ein Benutzer kann alle seine Prozesse töten.
  • Ein Benutzer kann den Prozess eines anderen Benutzers nicht töten.
  • Ein Benutzer kann Prozesse, das das System verwendet, nicht töten.
  • Ein Root-Benutzer kann zu Process auf System-Level-Ebene und den Prozess eines jeden Benutzer.

Eine andere Möglichkeit, dieselbe Funktion auszuführen, besteht darin, die 'auszuführen'PGREP' Befehl.

# PGREP MYSQL
Probenausgabe
3139

Den obigen Prozess abtöten PID, Verwenden Sie den Befehl Kill wie gezeigt.

Töte -9 3139

Der obige Befehl tötet den Prozess mit PID=3139, Wo PID ist ein Numerischer Wert des Prozesses.

Eine andere Möglichkeit, dieselbe Funktion auszuführen.

# Kill -Sigterm 3139

Ähnlich 'Töte -9 PID' ist ähnlich wie 'Kill -sigkill PID' und umgekehrt.

So töten Sie einen Prozess unter Linux mit dem Prozessnamen

Sie müssen sich des Prozessnamens bewusst sein, bevor Sie einen falschen Prozessnamen töten und eingeben können Sie können.

# PKILL MYSQLD 

Töte mehr als einen Prozess gleichzeitig.

# Kill PID1 PID2 PID3 oder # Kill -9 PID1 PID2 PID3 oder # Kill -sigkill PID1 PID2 PID3 

Was ist, wenn ein Prozess zu viele Fälle und eine Reihe von Kinderprozessen hat, haben wir einen Befehl. 'alle töten' oder Pkill. Diese beiden sind die einzigen Befehle dieser Familie, die den Prozessnamen als Argument an Ort der Prozessnummer nennen.

Syntax:
# Killall [Signal oder Option] Prozessname oder # Pkill -Prozessname 

Alle töten MySQL -Instanzen Verwenden Sie zusammen mit untergeordneten Prozessen den Befehl wie folgt.

# Killall Mysqld oder # Pkill Mysqld 

Sie können jederzeit den Status des Prozesses überprüfen, wenn er ausgeführt wird oder nicht, wobei Sie eine der folgenden Befehle verwenden.

# Service MySQL Status oder # Systemctl Status MySQL # PGREP MySQL # PS -aux | Grep Mysql 

Das ist alles vorerst, von meiner Seite. Ich werde bald wieder mit einem weiteren interessanten und informativen Thema hier sein. Bis dahin bleiben Sie dran, verbunden mit Tecmint, und gesund. Vergessen Sie nicht, Ihre zu geben Wertvolles Feedback Im Kommentarbereich.