我正在测试一些功能来监视进程,并且我需要模拟长时间的核心转储,并确定“延迟”(例如,我需要制作一个进程来“转储核心”持续30秒)。我注意到,转储内核的过程处于不间断的睡眠状态,因此无法使用SIGKILL杀死它,但是当我尝试使用接收coredump的管道命令来模拟此行为时,我可以轻松地终止该过程。那么,是否有某种方法可以使程序进入不间断的睡眠(状态为 ps )并使其忽略SIGKILL?

最佳答案

要将进程置于可中断的睡眠模式,您将必须使用内核代码。
使用wake_up_interruptible和自旋锁的功能,您将能够实现此状态。

10-08 07:35
查看更多