nohup
我有多个脚本使用和将进程与 bash 分离&>/dev/null &
。我的问题是,在将进程完全从 bash 中分离出来后,如何终止该进程。使用killall
或pidof 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
好吧,你可以通过重新启动机器来杀死它们,但这可能比你真正想要的更极端......