Job-Management
Zur Navigation springen
Zur Suche springen
Job-Management
- Job-Management erlaubt die Kontrolle über laufende Prozesse in der Bash, insbesondere Hintergrundprozesse.
- Jeder gestartete Prozess kann in den Vordergrund oder Hintergrund verschoben und überwacht werden.
- Wichtige Kommandos:
- jobs: zeigt alle aktuellen Jobs in der Shell
- fg: holt einen Hintergrundjob in den Vordergrund
- bg: startet einen gestoppten Job im Hintergrund neu
- kill: beendet einen Prozess gezielt
Hintergrundprozesse starten
- Prozesse können mit '&' am Ende der Befehlszeile im Hintergrund gestartet werden.
- Beispiel:
- sleep 60 &
- Die Shell gibt die Job-ID und PID zurück:
[1] 12345
Anzeigen von Jobs
- Mit jobs werden alle Jobs der aktuellen Shell angezeigt.
- Beispiel:
- jobs
[1]+ Running sleep 60 &
Vorder- und Hintergrund
- Ein Job kann aus dem Hintergrund in den Vordergrund geholt werden:
- fg %1
→ Job 1 wird in der aktuellen Shell fortgesetzt
- Ein angehaltener Job kann im Hintergrund fortgesetzt werden:
- bg %1
→ Job 1 läuft wieder im Hintergrund
Job beenden
- Ein Job kann gezielt beendet werden, entweder über Job-ID oder PID:
- kill %1 → beendet Job 1
- kill 12345 → beendet Prozess mit PID 12345
Hinweise
- Jeder Job läuft als Subprozess innerhalb der Shell.
- Die Bash verfolgt Job-IDs pro Shell-Session.
- Mit Ctrl+Z kann ein laufender Vordergrundjob angehalten werden, er wird dann als gestoppter Job geführt.
- Hintergrundjobs können weiterhin Ein-/Ausgaben erzeugen, abhängig von ihrer Konfiguration.
Aufgaben
- Starte ein Skript oder einen Prozess im Hintergrund und überprüfe den Jobstatus mit jobs.
- Halte einen Vordergrundjob mit Ctrl+Z an und setze ihn mit bg im Hintergrund fort.
- Bringe den Job wieder in den Vordergrund mit fg.
- Beende den Hintergrundjob gezielt mit kill und prüfe, dass er gestoppt wurde.