In meinem Skript setze ich set -e
, um die Verarbeitung zu stoppen, wenn ein Fehler auftritt. Es funktioniert gut für alle Befehle im Vordergrund, aber einige meiner Befehle müssen parallel im Hintergrund ausgeführt werden. Leider, wenn Hintergrundprozess fehlschlägt, wird das Skript nicht gestoppt, obwohl set -e
Flag.set -e und Hintergrundprozess
Beispiel mit Vordergrundprozess funktioniert.
#!/bin/bash
set -e
ls -l no_file
sleep 100
Beispiel mit Hintergrundprozess funktioniert nicht.
#!/bin/bash
set -e
ls -l no_file &
sleep 100
Wie mit Ausfällen der Hintergrundprozesse umzugehen?
Lösung mit warten auf PID ist perfekt, was ich suche. Vielen Dank. – Marcin