2
我编写调用fork()
来创建子进程的C应用程序。该应用程序以root身份运行。在父进程中,我使用wait()
来等待终止子进程。在子进程中,我使用prctl()
和PR_SET_PDEATHSIG
选项来检测父进程的死亡。它工作正常。为了降低安全问题的风险,子进程调用setuid()
来更改UID。问题是:子进程无法检测到父进程的死亡。从`setuid`进程中检测父进程的死亡
我已搜查四处寻找答案,发现一些有用的链接,但它并不能帮助:
- Detect death of parent process
- Enforcing process hierarchies (
prctl
related):虽然此链接包含一个明确的答案,有没有办法解决。
如何正确地做到这一点?
请加一个非常小的MCVE,让人们可以玩它 –
你的意思是孩子在setuid电话后不再收到信号吗? – mbieren