是否可以使用“kill”向进程发送信号而不强制进程退出?

时间:2013-07-28 04:16:54

标签: linux signals kill

我有一个shell脚本,我可以使用“trap”命令捕获发送的信号。

当收到特定信号时,它将执行某些功能。

我使用“kill”命令发送信号。

我只想触发脚本中的函数,而不是真正杀死脚本。

最初我认为SIGUSR1SIGUSR2应该有用,但我错了,脚本刚刚退出。

那么有没有办法只使用kill来发送信号来触发某些功能而不会真正杀死进程?

2 个答案:

答案 0 :(得分:3)

我相信它很少使用,但我知道你可以参考的一个常见案例。

DD

你可以在运行时向dd发送USR1信号,它将输出进度。完全用户名并且工作得很好,完全可移植的代码。参考:http://en.wikipedia.org/wiki/Dd_(Unix)

答案 1 :(得分:1)

根据杀戮和信号的手册(7),你可能希望的最好的是停止然后继续。但我不认为这会做你想要的。我还质疑使用“kill”的愿望,这个命令的名字使其目的非常明确,这样做。您可以使用kill发送的几乎所有信号都旨在终止进程或导致进程转储核心。我不是专家,但我认为你在这里试图使用错误的工具。