小编mee*_*tar的帖子

为什么我不能通过击键杀死从 Bash 脚本调用的超时?

[编辑:这看起来类似于其他一些询问如何杀死所有产生的进程的问题——答案似乎都是使用 pkill。所以我的问题的核心可能是:有没有办法将 Ctrl-C/Z 传播到脚本产生的所有进程?]

rec使用timeout来自 coreutils的命令(在此处讨论)调用 SoX 时,一旦从 Bash 脚本中调用它,似乎没有任何方法可以通过击键杀死它。

例子:

timeout 10 rec test.wav
Run Code Online (Sandbox Code Playgroud)

...可以用Ctrl+CCtrl+Z从 bash杀死,但不能从脚本内部调用它。

timeout 10 ping nowhere
Run Code Online (Sandbox Code Playgroud)

...可以被杀死Ctrl+CCtrl+Z从庆典,并与Ctrl+Z当它在脚本中运行。

我可以找到进程 ID 并以这种方式杀死它,但为什么我不能使用标准的中断键击?有什么方法可以构建我的脚本以便我可以吗?

bash kill signals shell-script

17
推荐指数
2
解决办法
1万
查看次数

标签 统计

bash ×1

kill ×1

shell-script ×1

signals ×1