我编写了运行 PHP 进程的 shell 脚本。但它没有在后台运行。我可以终止 shell 脚本而不终止正在运行的 PHP 进程吗?
答案1
是的,但你必须先将其分离。要将子进程与父进程分离,请运行:
kill -20 PID
kill -18 PID
也可以看看:https://stackoverflow.com/questions/625409/how-do-i-put-an-already-running-process-under-nohup
如果您与该进程位于同一终端,请键入ctrl-z
以停止父进程,然后使用ps -ef
查找 php 子进程的 PID。使用上面的 kill 行有效地将子进程与父进程分离。然后fg
返回到您的 shell 脚本,它应该会正常终止,或者您可以kill -9
在提示符下直接按 PID 或名称访问 shell 脚本。否则,终止父进程将(最终)删除子进程。