【发布时间】:2016-02-19 08:58:23
【问题描述】:
我正在使用 ash/dash 并尝试杀死一个子进程 - 它似乎没有响应:
sh & 打开一个子进程,jobs 传递[1]+ Stopped (tty Input) sh。
但是试图用kill %1 或kill 26672 杀死这个工作是行不通的。 jobs 再次发送[1]+ Stopped (tty Input) sh。
使用fg 将作业置于前台后,打开shell 进行输入。 ctrl+c 和 ctrl+z 都不起作用,但我可以分别用 exit 或 kill -SIGKILL $$ 终止进程,用 kill -STOP $$ 停止/暂停进程(ash 中没有 suspend-command)。
另一方面 - 使用 sleep 100 执行此操作可以正常工作,直到我使用 fg 并使用 ctr+z 停止该过程。那我就不能kill这个停止的工作了。
那么我缺少什么以及终止已停止工作的解决方案是什么?我是否必须处理set -m 以及如何处理?
提前致谢。
【问题讨论】:
-
它是什么操作系统?
-
基本上是 Busybox - 它提供了固有的 Almqvist-Shell (ash)。
标签: shell jobs kill job-control