有什么方法可以有意阻止某个进程响应 - 即不关闭或终止它,而是在它的轨道上阻止它,这样它就会立即停止处理任何事情?
我经常发现自己想强制一个进程进入无响应状态,以便测试某种处理程序,以防这种情况因任何原因真正发生。
目前我正在研究 centos 5.5,特别想防止named
响应 - 它在“正常条件下”偶尔发生(即原因未知),我需要对此做出反应......但是当我需要等待(数周)它随机发生时,测试相当困难。
我认为,进程已停止的一个很好的指标就是strace -p 1234
保持静默。
我们优先考虑通用解决方案,但如果您有任何想法可以涵盖这种特定情况,请无论如何发表答案。
答案1
您可以通过发送 SIGSTOP 来暂停进程,并通过发送 SIGCONT 来恢复进程。
kill -STOP <pid>
和
kill -CONT <pid>
分别。