Was ist ein Hintergrundprozess?
Ein Hintergrundprozess ist ein Prozess/Befehl, der von einem Terminal gestartet wird und im Hintergrund läuft , ohne Interaktion des Benutzers .
Einige Befehle in Linux brauchen Zeit. Um unsere Zeit nicht zu verschwenden, wenn wir solche Befehle verwenden müssen, können wir sie in den Hintergrund des Terminals stellen und unsere Arbeit fortsetzen. Meistens passiert dies, wenn wir über SSH mit dem Terminal verbunden sind und nicht zehn weitere unnötige Fenster öffnen möchten.
In diesem Artikel werden wir über die Hintergrundprozesse in Linux sprechen und Ihnen zeigen, wie Sie einen Befehl im Hintergrund starten und wie man den Prozess am Laufen hält nachdem die Shell-Sitzung geschlossen wurde.
Was ist das Screen-Tool?
Linux-Bildschirmbefehl ist ein sehr nützlicher Befehl das die Möglichkeit bietet, mehrere Shell-Fenster (Sitzungen) von einer einzigen SSH-Sitzung aus zu verwenden. Wenn die Sitzung getrennt wird oder eine Netzwerkstörung vorliegt, wird der Prozess, der in einem Bildschirm gestartet wird Die Sitzung wird weiterhin ausgeführt und Sie können sich erneut mit dem Bildschirm verbinden Sitzung jederzeit.
Wie wird Screen installiert und ausgeführt?
Zuerst werden wir screen auf unserer Distribution installieren.
# Install on Ubuntu \ Debian
sudo apt-get install screen
# Install on FreeBSD
pkg install screen
# Install on Arch Linux
sudo pacman -S screen
# Install on RHEL \ CentOS
yum install screen
# Install on Open Suse
zypper install screen
Code language: Bash (bash)
Um den Befehl zu verwenden, müssen wir einfach „screen“ schreiben “, und wir haben die Möglichkeit, einen Namen des Prozesses hinzuzufügen, der einen „screen -s name“ erstellt „
# Create a new instance
screen -S test
Code language: PHP (php)
Sie erhalten ein neues Fenster wie dieses hier
Jetzt können Sie das Skript, den Befehl oder den Prozess ausführen, den Sie in diesem Fenster benötigen. Für das Beispiel führen wir den obersten Befehl aus
# Run top command
top
Code language: PHP (php)
Um jetzt in unserem Bildschirm oben offen zu lassen und zum Terminal zurückzukehren, müssen wir STRG + A drücken und nach dem Buchstaben D .
Aber warten Sie, wie können wir den Status unseres Testlaufbildschirms mit dem obersten Befehl sehen? Geben Sie einfach screen -ls ein :
# Check current screen state
screen -ls
Code language: PHP (php)
Sie können sehen, dass wir eine Bildschirmsitzung namens Test haben, wir sind von der Sitzung getrennt, aber der Prozess funktioniert immer noch.
Verwenden Sie zum erneuten Anfügen an einen Bildschirm den folgenden Befehl, und ersetzen Sie dabei die folgende Zahl durch Ihre eigene Prozess-ID. In diesem Beispiel ist die Nummer 65735
# Reattach to screen session
screen -r 65735
Code language: PHP (php)
Um die Sitzung zu beenden und zu zerstören, können wir den Beenden verwenden Befehl innerhalb der Sitzung.
Wenn wir wollen, können wir den Prozess aus der Ferne beenden, indem wir die ID wie in diesem Beispiel verwenden
# Kill process 65735
kill 65735
Code language: PHP (php)
Zusammenfassend können wir sagen, dass der Befehl „screen“ einfach zu verwenden und zu merken ist, in fast allen Distributionen gültig und vor allem zuverlässig ist.