通过jobspec杀死一系列工作

时间:2014-06-12 09:51:35

标签: unix kill jobs

除了获得jobspec然后kill %jobspec ...

之外,我找不到答案

我在一个磁带备份机器人的后台有46个工作,我在一个循环中提交这些工作因为这个错误Suspended (tty output)而被卡住了我以后发现这意味着我需要先输入我的密码该过程被发送到后台,否则它将无法启动。

这就是我想要做的事情kill %[1-46],但我不知道它是否会按照我的预期运作。似乎没有提到在任何地方杀死这样的一系列工作(至少我已经看过了,比如互联网......)。

非常感谢任何帮助:)

感谢,

文斯

1 个答案:

答案 0 :(得分:1)

一种选择是循环工作。例如。在bash中它看起来像:

for i in {1..3}; do kill %$i; done

e.g:

$ for i in {1..3}; do sleep 20 & done
[1] 26453
[2] 26454
[3] 26455
$ jobs
[1]   Running                 sleep 20 &
[2]-  Running                 sleep 20 &
[3]+  Running                 sleep 20 &
$ for i in {1..3}; do kill %$i; done
$ jobs
[1]   Terminated              sleep 20
[2]-  Terminated              sleep 20
[3]+  Terminated              sleep 20
$ jobs
$