Verwenden Sie einfach eine asynchrone Aktion mit poll: 0
:
- command: yourscript.sh async: 45 poll: 0
Diese Optionen sind erforderlich, um zu verhindern, dass Ansible die untergeordneten Prozesse dieser Aufgabe mit os.killpg beendet .
Dann in yourscript.sh:
java Test & disown
disown entfernt den Prozess aus der Jobtabelle, sodass SIGHUP nicht an ihn gesendet wird. nohup macht dasselbe, ist aber nicht notwendig.
Bearbeiten : Beachten Sie, dass disown nicht in allen Shells verfügbar ist (z. B. Bindestrich).