从 bash 分离后如何终止进程?

从 bash 分离后如何终止进程?

nohup我有多个脚本使用和将进程与 bash 分离&>/dev/null &。我的问题是,在将进程完全从 bash 中分离出来后,如何终止该进程。使用killallpidof ScriptName不起作用。

答案1

nohup应该只影响挂断信号。所以kill应该还是可以正常工作的。也许您使用了错误的 pid 或进程名称;与pstree -p或比较ps -ef

如果您仍然怀疑nohup,也许您可​​以尝试disown一下。

$ sleep 1000 &
$ jobs -p
13561
$ disown
$ jobs -p
$ pidof sleep
13561
$ kill 13561
$ pidof sleep
$

答案2

如果你使用了nohup,你就无法杀死他们。该nohup命令专门阻止这些进程接收终止信号。如果你只是使用,你可以通过向 PID&发送kill或来杀死它们。kill -9好吧,你可以通过重新启动机器来杀死它们,但这可能比你真正想要的更极端......

相关内容