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