Grundlagen von Linux und der Kommandozeile

Während ein langwieriges ./sim.sh in einem Terminal läuft, möchte man im selben Terminal andere Befehle verwenden. Was geschieht, wenn man Strg+Z drückt und danach bg ausführt?

  1. AStrg+Z beendet sim.sh, und bg startet denselben Befehl von vorn im Hintergrund neu
  2. BStrg+Z hält sim.sh an, und bg setzt es an der unterbrochenen Stelle im Hintergrund fort
  3. CStrg+Z verschiebt sim.sh in den Hintergrund, wo es weiterläuft, und bg hält es an
Antwort und Erläuterung anzeigen

Antwort: B. Strg+Z hält sim.sh an, und bg setzt es an der unterbrochenen Stelle im Hintergrund fort

Strg+Z sendet dem im Vordergrund laufenden Job SIGTSTP, und der Job wird angehalten. bg weist diesen Job an, im Hintergrund weiterzulaufen, und fg holt ihn in den Vordergrund zurück. Die Jobs und ihren Zustand zeigt jobs an; soll etwas von Anfang an im Hintergrund laufen, startet man es mit &, wie in „./sim.sh &“. Allerdings können auch Hintergrundjobs beendet werden, wenn die Terminalverbindung abbricht, daher brauchen lange Berechnungen eine zusätzliche Maßnahme.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen von Linux und der Kommandozeile

  1. Auf einem per SSH erreichten Server wurde eine langwierige Berechnung mit „./run.sh &“ gestartet; als die Verbindung getrennt wurde, brach auch die Berechnung ab. Wie startet man sie am besten, damit sie nach dem Trennen der Verbindung weiterläuft?
  2. Welche Zeichen werden angezeigt, wenn die beiden obigen Zeilen in einer Shell ausgeführt werden?
  3. Welche Ausgaben erzeugen die beiden echo-Befehle, wenn die obigen Befehle nacheinander ausgeführt werden?
  4. Wie oben gezeigt, wird das Skript s.sh mit Argumenten ausgeführt. Welche Ausgabe ist richtig?
  5. In welchem Fall ist die Bedingung des obigen if in einem Shell-Skript wahr?