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

So unterbrechen Sie einen Prozess und setzen ihn später in Linux fort

Stellen Sie sich dieses Szenario vor. Sie führen ein Programm aus. Aber Sie wissen nicht, wie lange es dauern wird, bis es fertig ist. Der Prozess läuft einige Minuten weiter. Sie können nicht mehr lange warten, da einige andere wichtige Programme in der Warteschlange warten. Waren Sie schon einmal in einer solchen Situation? Keine Bange! Ich habe gerade einen einfachen Trick gefunden, um einen Prozess anzuhalten und später in Linux fortzusetzen.

Was ich tun werde, ist einfach den aktuell laufenden Prozess anzuhalten, einige andere wichtige Aufgaben zu erledigen und dann den gestoppten Prozess fortzusetzen, nachdem alle anderen Prozesse abgeschlossen sind.

Dies kann sehr nützlich sein, wenn Sie weniger RAM oder Prozessor für Multitasking haben. Sie können die laufenden Prozesse jederzeit anhalten und später fortsetzen, ohne sie erneut starten zu müssen.

Lassen Sie uns nun fortfahren und lernen, einen laufenden Prozess zu unterbrechen oder anzuhalten und ihn später in Linux- und Unix-ähnlichen Betriebssystemen fortzusetzen.

Halten Sie einen Prozess an und setzen Sie ihn später in Linux fort

Das ist absolut einfach! Alles, was Sie tun müssen, ist die PID (Prozess-ID) zu finden und ps zu verwenden oder ps aux Befehl, und pausieren Sie ihn dann, setzen Sie ihn schließlich mit kill fort Befehl.

Sehen wir uns ein Beispiel an. Ich werde das Netboot-Image von Ubuntu 18.04 mit wget herunterladen Befehl:

$ wget http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/mini.iso &

Hier, & Symbol verschiebt die laufende Aufgabe (z. B. wget ) in den Hintergrund, ohne es zu schließen.

Jetzt möchte ich diese Aufgabe anhalten und andere wichtige Aufgaben ausführen. Suchen Sie dazu zuerst die laufenden Prozesse mit dem Befehl:

$ ps

Beispielausgabe:

  PID TTY          TIME CMD
30056 pts/0    00:00:00 bash
16143 pts/0    00:00:01 wget
32677 pts/0    00:00:00 ps

Wie Sie sehen, ist die PID des wget-Befehls 16143 .

Stoppen wir diesen Prozess jetzt. Führen Sie dazu den folgenden Befehl von Ihrem Terminal aus:

$ kill -STOP 16143

Überprüfen Sie mit dem Befehl:

, ob der Prozess gestoppt wurde oder nicht
$ ps

Beispielausgabe:

PID TTY TIME CMD
8155 pts/0 00:00:00 bash
16143 pts/0 00:00:01 wget
16398 pts/0 00:00:00 ps

[1]+ Stopped wget http://archive.ubuntu.com/ubuntu/dists/xenial/main/installer-amd64/current/images/netboot/mini.iso

Sehen? Das wget Prozess wurde gestoppt.

Mach weiter und erledige andere wichtige Aufgaben. Sobald alle Aufgaben abgeschlossen sind, setzen Sie den gestoppten Prozess mit dem Befehl fort:

$ kill -CONT 16143

Um zu überprüfen, ob der Prozess läuft, führen Sie ps aus Befehl.

$ ps

Sehen? Der Prozess, den wir zuvor gestoppt haben, wurde wieder aufgenommen!

Wie ich bereits sagte, ist dies hilfreich, wenn Sie in einem System mit niedriger RAM- oder CPU-Geschwindigkeit kein Multitasking durchführen können.

TL;DR

Suchen Sie zuerst die PID des laufenden Prozesses mit dem Befehl ps. Halten Sie es dann mit kill -STOP <PID> an , und versetzen Sie Ihr System dann in den Ruhezustand. Setzen Sie Ihr System fort und setzen Sie den angehaltenen Prozess mit dem Befehl kill -CONT <PID> fort .

Funktioniert es nach dem Neustart meines Systems?

Sie fragen sich vielleicht, ob dies auch nach einem vollständigen Herunterfahren oder Neustarten des Systems funktioniert? NEIN . Denn die PIDs der Prozesse ändern sich automatisch nach einem Neustart Ihres Systems. Sie bleiben beim Neustart nicht bestehen. In solchen Fällen können Sie Ihr gesamtes System anhalten oder in den Ruhezustand versetzen und wieder aufnehmen, wenn Sie bereit sind.

Und das ist alles. Sie wissen jetzt, wie Sie einen Prozess in Linux- und Unix-ähnlichen Betriebssystemen anhalten und fortsetzen. Hoffe das hilft.

Empfohlene Lektüre:

  • Automatisches Herunterfahren, Neustarten, Suspendieren, Ruhezustand Ihres Linux-Systems zu einem bestimmten Zeitpunkt
  • Reaktivieren Sie Ihr Linux-System automatisch aus dem Energiesparmodus oder Ruhezustand
  • Reptyr – Verschieben Sie einen laufenden Prozess von einem Terminal zu einem anderen, ohne es zu schließen
  • So fügen Sie Linux-Befehle zur Warteschlange hinzu und führen sie einzeln aus
  • So zeigen Sie Prozessinformationen mit Procs unter Linux an

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

  2. So starten Sie den Linux-Befehl im Hintergrund und trennen den Prozess im Terminal

  3. So finden und töten Sie den Zombie-Prozess in Linux

  4. So legen Sie die Linux-Prozesspriorität mit den Befehlen nice und renice fest

  5. Wie kann man einen Prozess in Linux in den Ruhezustand versetzen, indem man seinen Speicher auf der Festplatte speichert und später wiederherstellt?

So arbeiten Sie mit Vordergrund- und Hintergrundprozessen unter Linux

Wie man einen Prozess unter Linux beendet

So deaktivieren Sie den Suspend- und Hibernation-Modus in Linux

So finden Sie die PID und PPID eines Prozesses in Linux

So beenden Sie Prozesse in Linux mit kill, killall und pkill

So verfolgen und verfolgen Sie einen Linux-Prozess