我正在编写一个支持捕获脚本,它捆绑了与我的一些进程相关的所有内核和系统日志。如果其中一个进程正在转储核心,这将导致我的支持捕获捆绑了一个半写的核心。
为了帮助防止用户错误,我希望能够检测进程是否正在转储核心。我想出的最好的是两个黑客:
(a) 查询核心的大小,在我的核心目录中持续 30 秒,看看是否有任何核心在改变大小。如果是,则正在转储一个核心。
(b) 结合 pgrep 和 ps -l ,查看进程是否有 pipe_w 的 WCHAN 状态
有没有更优雅和完整的证明方法来做到这一点?
是否有一些可以查询的东西会告诉我们某些东西正在倾销核心?