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