Linux c仅处理同步信号和消息队列

问题描述 投票:0回答:1

我正在寻找3个子进程及其父进程同步的帮助。我有3个子进程,第一个是从文件行读取并通过管道发送到第二个,第二个进程接收它,计算它是多少字符,并且该数字通过第二个管道发送到第三个进程,其中一个打印到控制台。

现在我必须使用信号和消息队列来处理SIGTERM,SIGCONT和SIGTSTP。场景如下所示:只有第3个进程对从控制台发送的信号作出反应。收到他'通知'父母。父节点将信号保存到消息队列并“通知”第一个孩子。第1个孩子读取,保存,通知第2个和第2个相同的第3个。

我已经使用sigaction()siginfo_t等完成了所有这些,但我无法弄清楚的是如何使进程等待另一个。我读过wait(),waitid(),waitpid(),但所有这些似乎只用于子进程。

我需要一个可以停止进程的工具,直到ID指定的另一个进程做某事。

c linux signals ipc
1个回答
1
投票

我希望我理解这个问题,但我猜你需要这样的东西:Can a child process wait for the parent process to terminate in Linux programming in C?

© www.soinside.com 2019 - 2024. All rights reserved.