In dieser kurzen Anleitung wird gezeigt, wie man einen laufenden Befehl in den Hintergrund verschiebt, um z.B. in der gleichen Session synchron andere Befehle auszuführen.
Beispiel-Szenario
Stellen Sie sich vor, Sie wollen mit dem tar Befehl ein Backup eines Plesk Servers durchführen. Ihr Script benötigt für 2TB an Daten ca. 4-5 Stunden. Um den Start über einen Shell-Script durchzuführen, nutzen Sie z.B. folgenden Befehl:
root@server:~$ ./plesk_backup.sh
Nun läuft der Script, außer Sie beenden diesen mit CTRL (STRG) + C. Statt, dass der Befehl beendet wird, kann man diesen auch in den Hintergrund verschieben. Drücken Sie dazu, während der Befehl gerade aktiv am Laufen ist: CTRL (STRG) + Z und erhalten Sie wieder Zugang zur Konsole, ohne dass der Befehl beendet wird:
CTRL + Z
[1]+ Angehalten ./plesk_backup.sh
root@server:~$
Nun befindet sich der Befehl im HALT und im Hintergrund. Um den zuletzt hinzugefügten Hintergrundbefehle im Hintergrund zu starten, geben Sie den Befehl "bg" in die Konsole ein:
root@server:~$ bg
[1]+ ./plesk_backup.sh &
Nun kann man z.B. den Status der Hintergrund-Scripte mit dem Befehl "jobs" prüfen:
root@server:~$ jobs
[1]+ Läuft ./plesk_backup.sh &
Um den Hintergrund Prozess wieder zu sich zu holen geben wir "fg X" ein, wobei X die Nummer des Jobs [1] ist - man kann auch mehrere Jobs in den Hintergrund verschieben. Mit dem "jobs" Command sieht man auch immer die Nummerierung der aktuellen Befehle:
root@server:~$ fg 1