Wir haben Ihnen erklärt, was ein Linux-Hintergrundprozess ist und wie Sie ihn richtig starten. In diesem Artikel werden wir Ihnen erklären, wie er in diesem Modus funktioniert.
Um ein Skript unter Linux auszuführen, müssen Sie sicherstellen, dass es nach dem Schließen des Terminals richtig funktioniert. Das Terminal wird auf folgende Weise geschlossen: Sie müssen auf das Kreuz in der oberen Ecke des Bildschirms klicken, was zum Beenden aller Hintergrundprozesse führt. Es gibt mehrere Methoden, um sie zu retten, falls die Verbindung mit der interaktiven Shell unterbrochen wird
Erstens: Entfernen Sie die Job-Warteschlange aus der Aufgabe, indem Sie disown
verwenden:
disown
Wie in den vorangegangenen Fällen sollten Sie, wenn mehrere Prozesse gleichzeitig laufen, die Nummer desjenigen angeben, in Bezug auf den die Aktion durchgeführt wird:
disown %1
Stellen Sie sicher, dass die Aufgabe nicht in der Aufgabenliste enthalten ist. Wie Sie dies tun können. Verwenden Sie das Dienstprogramm jobs -l
. Um die gesamte Liste der laufenden Prozesse zu sehen, wird der Befehl verwendet:
ps aux
Nächste Methode: Sie speichern die laufenden Prozesse mit dem Befehl nohup
. Dieser Befehl wird nach der Ausführung wiederum einen anderen Befehl ausführen, alle SIGHUP-Signale
werden ignoriert.
Sie können den Befehl so im Hintergrund ausführen:
nohup command &
Wie Sie im Bild oben sehen können, wird die Ausgabe des Befehls an nohup.out
gesendet. Das Wichtigste ist, dass der Prozess nach dem Abmelden und Schließen des Terminals weiterläuft. Es gibt einige Dienstprogramme, mit denen Sie zwei oder mehr Sitzungen gleichzeitig ausführen können. Dies ist insbesondere mit Screen
und Tmux
möglich.
Screen
oder GNU Screen
ist ein Terminal-Multiplexer, mit dem Sie eine Arbeitssitzung starten und darin beliebig viele Fenster (virtuelle Terminals) öffnen können. Prozesse, die in diesem Programm laufen, werden auch dann ausgeführt, wenn ihre Fenster unsichtbar sind oder das Programm nicht mehr läuft.Tmux
ist eine modernere Alternative zu GNU Screen
. Die Funktionen von Tmux
unterscheiden sich jedoch nicht grundlegend - Sie können viele Fenster innerhalb einer einzigen Sitzung auf dieselbe Weise öffnen. Tasks, die in Tmux
laufen, laufen weiter, wenn das Terminal geschlossen wird.Wir haben dieses Problem behoben, wie Sie sehen können, ist alles elementar und einfach.