gpt4 book ai didi

c - 向某些(孙...)孙子发送信号

转载 作者:行者123 更新时间:2023-12-02 00:09:08 29 4
gpt4 key购买 nike

有什么好的方法可以直接将 SIGUSR 发送给孙子?例如。我有一些进程树:

     0
/ \
1 2
\
3

并且需要从0发送一个信号到3

我知道我可以在 fork 之后保存 child 的 pid,然后像 kill() 一样使用它

pid = fork();
if (pid == 0) {
pid = fork();
if (pid == 0) { /* grandchild */ }
savepid = pid;
}

...

kill(savepid,sig);

但是我必须使用共享内存来使这些变量全局可见,这在我的作业中是不允许的:)

最佳答案

parent 和孙子之间没有直接的交流。这里通常的方法是让孙子将其 PID 存储在文件系统的某个位置(例如,在/var/lib/myapp/grandchild.pid 中)并在父级中读回它。

您也可以在 Linux 上使用进程组,但它们提供了一种粗粒度的方法。

关于c - 向某些(孙...)孙子发送信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16480610/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com