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

 

 

Previous PostLinux Tutorial: Benutzer mit Root-Berechtigungen anlegen
Next PostTYPO3 Snippet: cObjectData im Fluid ausgeben