是否有比以下方式更紧凑的形式来杀死后台作业:
for i in {1..5}; do kill %$i; done
另外,{1..5}中显然有一个硬编码的幻数,我如何在不做以下操作的情况下使N为正确的数字而使其成为“ N”?
$(jobs | wc -l)
我实际上在PS1中使用\ j来获取托管作业的数量,这等效吗?
如果可能,我宁愿单独取消工作。(不过,我可能会误解了您的评论)
—
Robottinosino 2012年
for pid in $(jobs -p); do kill $pid; done
?
@ jw013这不仅容易,而且实际上是正确的(请张贴为答案),这与基于计数输出行数的解决方案不同,该解决方案
—
吉尔斯
jobs
仅在作业碰巧被连续编号时才起作用。哦,“单独杀死作业”是没有意义的:将多个PID传递给kill
命令与单独传递它们完全一样。
我输入的命令不正确,杀死了$(jobs -p)个单词,对我来说也很正确。准备接受。
—
Robottinosino 2012年
kill $(jobs -p)
似乎更容易。