4
为什么不能通过击键杀死Bash脚本调用的超时?
[编辑:这看起来与其他一些问题类似,询问如何杀死所有产生的进程-答案似乎都是使用pkill。因此,我的问题的核心可能是:是否可以将Ctrl-C / Z传播到脚本生成的所有进程?] 当rec使用timeout来自coreutils 的命令调用SoX 时(这里已讨论),一旦从Bash脚本中调用它,似乎没有任何办法可以通过击键杀死它。 例子: timeout 10 rec test.wav ...可以用bash中的Ctrl+ C或Ctrl+ 杀死Z,但不能从脚本内部调用。 timeout 10 ping nowhere ...可以被杀死Ctrl+ C或Ctrl+ Z从庆典,并与Ctrl+ Z当它在脚本中运行。 我可以找到进程ID并以这种方式将其杀死,但是为什么不能使用标准的击键动作呢?并且有什么方法可以构造我的脚本,以便可以吗?