【发布时间】:2013-07-19 09:13:20
【问题描述】:
我目前正在开发一种使用自定义核心格式的崩溃收集机制。本质上,它挂钩 linux_binfmt->core_dump 条目以指向我们的转储程序。
转储程序本身会启动一个用户模式助手,其中包含进程的 PID,以在允许内核完全杀死进程之前通过 ptrace 捕获哪个转储进程信息:
call_usermodehelper(argv[0], argv, envp, UMH_WAIT_PROC);
我的问题是该任务在技术上处于磁盘睡眠状态并且没有停止,因此 ptrace 调用失败。
我尝试 SEND_SIG_FORCED SIGSTOP 无济于事:
send_sig_info(SIGSTOP, SEND_SIG_FORCED, current);
任何关于如何阻止进程终止但将其置于停止状态以使 ptrace 用户模式收集器工作的建议将不胜感激。
【问题讨论】:
标签: linux kernel scheduler coredump