我编写了一个C应用程序,调用
fork()
来创建子进程。该应用程序以root身份运行。在父进程中,我使用wait()
等待终止的子进程。在子进程中,我使用prctl()
和PR_SET_PDEATHSIG
选项来检测父进程的死亡。这很好用。为了减少安全问题的风险,子进程调用setuid()
来更改UID。问题是:子进程无法再检测到父进程的死亡。
我搜索了一些有用的链接,但没有帮助:
- 检测父进程的死亡
- 强制执行进程层次结构(与
prctl
相关):尽管此链接包含明确的答案,但没有解决方案。