我正在使用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 $$
停止/暂停流程来杀死该流程(没有{{} 1}} - 灰烬中的命令。
另一方面 - 使用suspend
执行此操作可以正常工作直到sleep 100
并使用fg
停止处理。然后我无法ctr+z
这个停止的工作。
那么我错过了什么以及杀死一份停止工作的解决方案是什么?我是否必须处理kill
以及如何处理?
提前致谢。
答案 0 :(得分:0)
您可以通过kill -SIGCONT %number
按下已停止的流程,如果您需要终止该流程,可以kill -SIGTERM %number.
将其删除尝试此操作我认为这会对您有所帮助。
答案 1 :(得分:0)
您可以尝试
杀死-9 $(jobs -p)
或者,只需执行exit命令注销,它就会自动杀死已停止的作业