Zum Hauptinhalt springen

Wie man einen Prozess mit Namen in Linux abschließt: Eine detaillierte Anleitung

Linux, ein Open-Source-Betriebssystem, verfügt über viele Funktionen und Tools zum Verwalten von Prozessen. Manchmal kann es notwendig sein, die Ausführung eines bestimmten Prozesses zu unterbrechen. In diesem Artikel werden wir uns ansehen, wie Sie einen Prozess anhand seines Namens mit verschiedenen Befehlen und Werkzeugen unter Linux abschließen können.

Eine Möglichkeit, den Prozess zu beenden, besteht darin, den Befehl kill zu verwenden. Der kill-Befehl sendet ein Signal an den Prozess, der durch die ID (PID) oder den Namen angegeben wurde. Um einen Prozess mit Namen zu beenden, müssen Sie die Option -s verwenden, indem Sie den Prozessnamen angeben, und die Option -SIGKILL, um ein Signal zu senden, das anzeigt, dass der Prozess sofort beendet wird.

Wenn Sie beispielsweise einen Prozess mit dem Namen "process_name" beenden möchten, führen Sie einen Befehl aus:

kill -s SIGKILL $(pgrep process_name)

Eine andere Möglichkeit, den Prozess zu beenden, besteht darin, den Befehl pkill zu verwenden. Mit dem Befehl pkill können Sie einen Prozess mit seinem Namen beenden, ohne dass Optionen oder zusätzliche Signale erforderlich sind. Es genügt, den Prozessnamen nach dem Befehl pkill anzugeben.

Wenn Sie beispielsweise einen Prozess mit dem Namen "process_name" beenden möchten, führen Sie einen Befehl aus:

Es besteht auch die Möglichkeit, alle Prozesse mit einem bestimmten Namen mit dem Befehl killall zu beenden. Der Befehl killall beendet den Prozess mit dem Namen, ähnlich wie der Befehl pkill, aber im Gegensatz dazu beendet der Befehl killall alle Prozesse mit dem angegebenen Namen und nicht nur den ersten gefundenen Prozess.

Um beispielsweise alle Prozesse mit dem Namen "process_name" zu beenden, müssen Sie einen Befehl ausführen:

Verwenden des Befehls pkill

Die Syntax für den Befehl pkill lautet wie folgt:

pkill [Optionen] prozessname

Mit den Befehlsoptionen können Sie die Funktionalität erweitern und das Verhalten von pkill ändern. Zu den am häufigsten verwendeten Optionen gehören:

  • -l - gibt die Namen der Signale aus, die zum Beenden des Prozesses verwendet werden können;
  • -s - Hier können Sie das Signal angeben, das beim Beenden an den Prozess gesendet wird;
  • -v - detaillierte Darstellung der Prozesse, die abgeschlossen werden sollen;
  • -u - Ausführen des Befehls im Namen des angegebenen Benutzers;
  • -f ist eine vollständige Übereinstimmung mit dem Prozessnamen, ohne Vorlagen zu verwenden.

Beispiel für die Verwendung des Befehls pkill:

Im obigen Beispiel beendet der Befehl pkill alle Prozesse mit dem Namen "nginx" mit Signal 9. Sie können je nach Ihren Bedürfnissen auch andere Signale oder Kombinationen von Optionen verwenden.

Der Befehl pkill bietet eine bequeme Möglichkeit, Prozesse mit Namen auf einem Linux-Betriebssystem schnell und effizient zu beenden. Sie kann bei der Verwaltung und Wartung des Systems nützlich sein, insbesondere wenn eine Prozessgruppe oder ein Daemon-Prozess schnell beendet werden muss.

Verwenden des Befehls killall

Das Team killall unter Linux können Sie Prozesse mit ihrem Namen beenden. Es ist besonders nützlich, wenn mehrere Prozesse mit demselben Namen gleichzeitig abgeschlossen werden müssen. Der Befehl killall unterstützt mehrere Optionen und Argumente.

Die grundlegende Befehlssyntax lautet wie folgt:

killall [Optionen] prozessname

Um beispielsweise alle Prozesse mit dem Namen "firefox" zu beenden, müssen Sie einen Befehl ausführen:

Dieser Befehl sendet ein SIGTERM an alle Prozesse mit dem Namen "firefox". Wenn der Prozess nicht abgeschlossen wird, können Sie die Option verwenden -9 so senden Sie ein erzwungenes Abschlusssignal (SIGKILL):

killall -9 firefox

Der Befehl killall kann in verschiedenen Szenarien nützlich sein, z. B. wenn Sie alle Prozesse einer bestimmten Anwendung beenden oder Ressourcen auf dem Server freigeben möchten, die von mehreren Prozessen verwendet werden.

Verwenden des Kill-Befehls

Die Syntax des Kill-Befehls lautet wie folgt:

kill [сигнал] [идентификатор_процесса]

Standardmäßig sendet der Befehl kill ein SIGTERM (15) -Signal, das die Ausführung des Prozesses unterbricht. Es gibt jedoch andere Signale, die bei Bedarf verwendet werden können. Zum Beispiel startet das Signal SIGHUP (1) den Prozess neu, und das Signal SIGKILL (9) stoppt den Prozess sofort, ohne dass er die abschließenden Aktionen ausführen kann.

Die Prozess-ID kann mit dem Befehl ps abgerufen werden. Um beispielsweise einen Prozess mit dem Namen "example" abzuschließen, müssen Sie den folgenden Befehl ausführen:

kill $(pgrep example)

Anstelle der Prozess-ID können Sie den Namen des Prozesses angeben, aber in diesem Fall beendet der Befehl kill alle Prozesse mit dem angegebenen Namen.

Wenn Sie ein Signal des angegebenen Typs an alle Prozesse senden möchten, können Sie dies mit dem Befehl killall tun. Die Syntax für den Befehl killall lautet wie folgt:

killall [сигнал] [имя_процесса]

Um beispielsweise ein SIGTERM-Signal an alle Prozesse mit dem Namen "example" zu senden, verwenden Sie den folgenden Befehl:

killall -SIGTERM example

Verwenden Sie jedoch den Befehl kill oder killall vorsichtig, da ein fehlerhaftes Beenden des Prozesses zu Datenverlust oder zu einer Fehlfunktion des Systems führen kann.

Verwenden des Pidof-Befehls

Das Team pidof hier können Sie Prozess-IDs (PID) anhand des Prozessnamens finden. Dies ist nützlich, wenn Sie einen Prozess abschließen möchten, aber seine genaue PID nicht kennen.

Die Syntax für den Befehl pidof lautet wie folgt:

Um beispielsweise die PID eines Prozesses mit dem Namen "firefox" zu finden, können Sie den folgenden Befehl ausführen:

Der Befehl pidof listet die PID-Prozesse mit dem angegebenen Namen auf, getrennt durch Leerzeichen. Wenn kein Prozess mit diesem Namen gefunden wird, gibt der Befehl keine Ergebnisse zurück.

Nachdem Sie die PID eines Prozesses mit dem Befehl pidof erhalten haben, können Sie ihn verwenden, um den Prozess mit dem Befehl kill zu beenden. Zum Beispiel:

dabei handelt es sich um eine Prozess-ID, die mit dem Befehl pidof abgerufen wurde.

Es ist wichtig zu beachten, dass die Verwendung des Pidof-Befehls Administratorrechte (root) erfordert oder über die entsprechenden Berechtigungen verfügt. Wenn Sie kein Systemadministrator sind, müssen Sie möglicherweise die Befehle sudo oder su verwenden, um diese Befehle auszuführen.