我如何杀死最后一个衍生的后台任务在linux?
例子:
doSomething
doAnotherThing
doB &
doC
doD
#kill doB
????
我如何杀死最后一个衍生的后台任务在linux?
例子:
doSomething
doAnotherThing
doB &
doC
doD
#kill doB
????
当前回答
使用killall命令:
killall taskname
更多信息和更高级的选项,键入“man killall”。
其他回答
你需要它的pid…用"ps -A"找到它。
使用killall命令:
killall taskname
更多信息和更高级的选项,键入“man killall”。
下面的命令为您提供会话中所有后台进程的列表,以及pid。然后您可以使用它来终止进程。
jobs -l
使用示例:
$ sleep 300 &
$ jobs -l
[1]+ 31139 Running sleep 300 &
$ kill 31139
这是一个离题的答案,但是,对于那些感兴趣的人来说,它可能是有价值的。
在@John Kugelman的回答中,%与工作规格有关。 如何有效地找到它?使用less的&pattern命令,似乎man使用less寻呼机(不确定),在man bash中键入&%,然后键入Enter将只显示包含'%'的行,重新显示所有,键入&。然后输入。
在bash中有一个特殊的变量:
kill $!
美元!扩展为最后一个在后台执行的进程的PID。