Job-Management

Aus Xinux Wiki
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.