Ich habe drei Skripte, die sich gegenseitig aufrufen. Sie sind die folgenden:Bash wartet auf einen Python-Subprozess
script1.sh:
s=`./script2.py`;
echo "DONE";
script2.py:
#!/usr/bin/env python3
import subprocess
subprocess.Popen(["./script3.py"])
print ("Exit script2")
script3.py:
#!/usr/bin/env python3
import time
time.sleep(20)
print ("child OK")
Leider ist das Skript1.sh eine Software von Drittanbietern und ich kann das nicht ändern.
Die script2.py starten das script3.py im Hintergrund und beenden. Es funktioniert gut von der Kommandozeile. Aber wenn das script1.sh das script2.py aufruft, das auf das script3.py wartet. So friert das Skript1.sh ein. Wie kann ich es vermeiden?