Warten wartet nicht darauf, dass alle untergeordneten Prozesse gestoppt werden. Das ist mein Skript:Den Linux-Befehl "Wait" warten auf ALLE untergeordneten Prozesse warten
#!/bin/bash
titlename=`echo "[email protected]"|sed 's/\..\{3\}$//'`
screen -X title "$titlename"
/usr/lib/process.bash -verbose [email protected]
wait
bash -c "mail.bash [email protected]"
screen -X title "$titlename.Done"
Ich habe keinen Zugriff auf /usr/lib/process.bash, aber es ist ein Skript, das sich häufig ändert, so möchte ich es verweisen ... aber in diesem Skript:
#!/bin/ksh
#lots of random stuff
/usr/lib/runall $path $auto $params > /dev/null 2>&1&
Mein Problem ist, dass runall eine Protokolldatei erstellt ... und mail.bash wird angenommen, mir diese Protokolldatei auf der Post, aber das warten wartet nicht auf runall zu beenden, scheint es nur zu sein warten auf process.bash zu beenden. Gibt es überhaupt, ohne Zugriff auf process.bash, oder versuchen, meine eigene aktuelle Version von process.bash zu halten, um die Wartezeit richtig warten auf runall zu beenden? (Die Protokolldatei überschreibt den vorherigen Lauf, so kann ich auf das Vorhandensein der Protokolldatei nicht nur überprüfen, da es immer ist man da)
Danke, Dan
Können Sie uns mit den entsprechenden Teilen von 'ps -ef 'nach' warten' ist beendet? Das sollte zeigen, welche Prozesse ausgeführt werden und welcher Prozess ein Kind von welchem anderen Prozess ist ... – Heinzi
Mein Skript und Process.bash enden fast sofort. Der einzige verbleibende Prozess ist Runall, der unter zufälligen PIDs läuft. – Dan