
Ich schreibe ein Shell-Skript, das den PHP-Prozess ausführt. Aber es läuft nicht im Hintergrund. Kann ich das Shell-Skript beenden, ohne den laufenden PHP-Prozess zu beenden?
Antwort1
Ja, aber Sie müssen es zuerst trennen. Um den untergeordneten Prozess vom übergeordneten Prozess zu trennen, führen Sie Folgendes aus:
kill -20 PID
kill -18 PID
Wenn Sie sich auf demselben Terminal wie der Prozess befinden, geben Sie ein, ctrl-z
um den übergeordneten Prozess zu stoppen, und verwenden Sie, ps -ef
um die PID des PHP-Kindprozesses zu ermitteln. Verwenden Sie die Kill-Zeilen oben, um den untergeordneten Prozess effektiv vom übergeordneten Prozess zu trennen. Kehren Sie dann fg
zu Ihrem Shell-Skript zurück, und es sollte normal beendet werden, oder Sie können kill -9
das Shell-Skript direkt nach PID oder Name aufrufen, während Sie sich an der Eingabeaufforderung befinden. Andernfalls wird durch das Beenden des übergeordneten Prozesses (eventuell) auch der untergeordnete Prozess entfernt.