如何杀死破折号中的所有后台作业?

如何杀死破折号中的所有后台作业?

简单地kill $( jobs -p ) 不能在破折号中工作
例如在破折号中:

$ sleep 999 &
$ kill $(jobs -p)
dash: 2: kill: Usage: kill [-s sigspec | -signum | -sigspec] [pid | job]... or
kill -l [exitstatus]
$

答案1

向 的维护者提交错误报告dash

dash如果jobs在子 shell 中运行,似乎确实会返回空输出。

你真的需要使用吗dash?众所周知,由于多种原因,它不符合 POSIX 标准。

相关内容