关于 prctl(PR_SET_PDEATHSIG, SIGKILL) 疑问
父进程A 想创建 子进程B ,且希望 A 在任何情况下退出都能关闭 B,由于业务需要 在 A 中 创建 线程T, 并且由 T 来创建 B,创建成功后T马上退出。 问题出现了, 线程T 退出后 操作系统便会 向 B 发送 SIGKILL 信号。 这并非我的本意,我不希望忘仅仅一个线程退就关闭子进程。 我查阅了一写文档,对于 prctl(PR_SET_PDEATHSIG, SIGKILL) 的解释都是,父进程退出才会对子进程发送相应信号。 哪位有相关经验,大体解释一下其中的原理?疑惑中.......
------解决方案--------------------父进程退出是不会给子进程发SIGKILL的,即使有这类问题也一般不会用prctl来解决。
prctl(PR_SET_PDEATHSIG, SIGKILL)这个你是不能加的,你这里的情况,因为线程其实就是进程在linux里。