GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie man einen Prozess unter Linux beendet

Einführung

Um Ihr System voll nutzen zu können, müssen Sie beobachten, was vor sich geht, und die Auslastung des Systems überwachen.

Linux ist keine perfekte Welt, natürlich nutzt es Ihre Ressourcen besser, aber wie bei jedem anderen Betriebssystem können einige Ressourcen außer Kontrolle geraten oder nicht mehr reagieren oder viele Ressourcen verbrauchen oder mehr als sie benötigen.

Aus diesem Grund sind wir hier, um darüber zu sprechen, wie Sie Maßnahmen ergreifen und die ungehorsamen Aufgaben beenden können, wenn die normalen Wege nicht hilfreich sind.

Es gibt viele Möglichkeiten, Ihr System zu steuern, und eine davon, die unser heutiges Thema ist, ist KILL Befehl

Was ist der KILL-Befehl?

Der Kill-Befehl ist ein integriertes Dienstprogramm in Linux, mit dem Sie Prozesse manuell beenden können. Es sendet ein Signal an den Auflegeprozess, um ihn zu beenden.

Es gibt verschiedene Arten von Signalen, die der KILL-Befehl an den Prozess senden kann,

Um sie anzuzeigen, führen Sie den folgenden Befehl aus:

Sie können die Signale in den Befehlsoptionen auf drei Arten angeben:

● Nummer verwenden

kill -15 or kill -s 15

● Eingabe des SIG-Präfixes

kill -SIGTERM or kill -s SIGTERM

● Ohne SIG-Präfix

kill -TERM or kill -s TERM

Wenn Sie kein Signal angeben, TERM (-15) Signal ist das Standardsignal.

So finden Sie einen Prozess

Bevor Sie den Prozess beenden, müssen Sie seine PID (Prozess-ID) identifizieren,

dazu gibt es verschiedene Möglichkeiten

PS-Befehl

Sie können die eindeutige Prozessnummer finden, indem Sie den PS-Befehl im PID-Abschnitt

verwenden

Weitere Informationen zum PS-Befehl und seinen Optionen finden Sie in diesem Artikel

Verwendung des PS-Befehls

TOP-Befehl

Finden Sie PID auch im TOP-Befehl unter dem ersten Abschnitt

Weitere Informationen zum PS-Befehl und seinen Optionen finden Sie in diesem Artikel

Verwendung des TOP-Befehls

PIDOF und PGREP

Wenn Sie nach Namen suchen möchten, um die entsprechende ID zu finden, können Sie diese beiden Befehle verwenden.

PIDOF ist unkompliziert, Sie müssen den vollständigen Namen des Prozesses kennen, um alle PIDs für genau diesen Namen zu erhalten

Wenn Sie den vollständigen Namen des Prozesses nicht kennen, können Sie hier PGREP verwenden um die PID zu erhalten

Prozesse, die Sie nicht KILLEN können

Wenn Sie ein normaler Benutzer sind, können Sie nur Ihre eigenen Prozesse beenden, der Root-Benutzer kann jedoch alle Prozesse beenden. Verwenden Sie sudo vor dem Befehl, als Superuser zu agieren

Wenn Sie einen Prozess beenden, ein TERM Das Signal wird standardmäßig gesendet, wie wir bereits erwähnt haben. Dies ermöglicht dem Programm, einige Codes auszuführen, bevor es beendet wird, wodurch das Programm die Möglichkeit hat, ordnungsgemäß zu beenden. Wenn Sie den Prozess zwangsweise beenden möchten, verwenden Sie SEGKILL stattdessen

Der Linux-Kernel speichert einige Informationen über die beendeten Prozesse, damit der übergeordnete Prozess den Status der untergeordneten Prozesse ermitteln kann und ob er von selbst beendet oder getötet wurde. Diese Zombies Prozesse erscheinen in der Prozessliste und Sie können sie nicht KILLEN

Wenn ein Prozess Eingabe- oder Ausgabeoperationen durchführt, befindet er sich in einem unterbrechungsfreien Ruhezustand und Sie können diese Prozesse auch nicht beenden

Sie können Prozesse im Zustand Zombie unterscheiden oder unterbrechungsfreier Schlaf indem Sie oben auf den Zustandsabschnitt schauen und Z sehen oder D bzw..

Jetzt beenden wir den Prozess

Nachdem Sie die PID gefunden haben, führen Sie einfach den folgenden Befehl aus

Sie können entweder das TERM-Signal in den Optionen identifizieren oder ein anderes Signal an das Programm senden

KILL mit Namen

Wenn Sie den Namen des Prozesses kennen, können Sie ihn mit PKILL nach Namen beenden Befehl

dies beendet jeden Prozess, der Chrom enthält darin

Außerdem können Sie den Signaltyp identifizieren

KILL alle Prozesse

Sie können alle Prozesse beenden, die denselben Namen haben, ohne die PID suchen zu müssen,

eine der einfachsten Möglichkeiten, einen Prozess zu beenden

es ist ähnlich wie pkill Befehl und Sie können auch verschiedene Arten von Signalen senden

Mit dem –o können Sie einen länger laufenden Prozess beenden Möglichkeit

killall -o 30m process_name

oder einen Prozess beenden, der für weniger als einen Zeitraum wie folgt ausgeführt wurde

killall -y 10s process_name

Beachten Sie, dass m in 30m steht für Minuten und s in 10s ist für Sekunden.

Schlussfolgerung

Wie bei allen anderen Betriebssystemen kann Linux einige hängende oder nicht reagierende Programme aufweisen, und daher benötigen Sie den KILL-Befehl, um die Prozesse zu beenden, die die Ressourcen des Systems verbrauchen.

Verwenden Sie man, um weitere Informationen zu erhalten für den Kill-Befehl und siehe die offizielle Dokumentation.


Linux
  1. So beenden Sie einen Zombie-Prozess unter Linux

  2. So verwenden Sie den Su-Befehl unter Linux

  3. Wie beendet man einen Prozess unter Linux mit dem Befehl?

  4. Wie beendet man einen Prozess, der auf einem bestimmten Port in Linux läuft?

  5. Wie man einen Prozess unter Linux anhält/fortsetzt

Kill-Befehl unter Linux

So beenden Sie Zombie-Prozesse in Linux

5 schnelle Möglichkeiten, einen Prozess in Linux zu beenden

So ändern Sie die Priorität eines Prozesses in Linux

So beenden Sie den laufenden Linux-Prozess auf einem bestimmten Port

So beenden oder beenden Sie einen Linux-Prozess:Der ultimative Leitfaden