如何链接 2 个进程,以便当一个进程崩溃时另一个进程也崩溃?
Posted
技术标签:
【中文标题】如何链接 2 个进程,以便当一个进程崩溃时另一个进程也崩溃?【英文标题】:How can I link 2 processes so when one crashes make the other one crash too? 【发布时间】:2011-01-05 17:29:16 【问题描述】:我正在编写一个 bash 程序,该程序通过命名管道在两个进程(A 和 B)之间具有 IPC。我很担心,因为如果 A 崩溃,B 可能会被无限期地阻塞(反之亦然),因为命名管道正在阻塞。我可以链接 A 和 B,如果 A 崩溃,强制 B 也崩溃吗?解决此阻塞问题的任何其他替代方案将不胜感激。
提前谢谢你。
【问题讨论】:
为什么不在单独的线程中运行通信,如果长时间阻塞则将其杀死? 【参考方案1】:您可能需要一个额外的进程“C”来监控进程“A”和进程“B”的活动
【讨论】:
你的意思是一个进程有A和B的pid并定期检查?【参考方案2】:如果您在谈论 bash 脚本?如果是这样,您可以捕获发送到 A 的信号以将其杀死,然后将信号发送到 B 使其退出。
相关的 bash 功能是:trap
和 kill
。相关的信号是 SIGKILL、SIGINT、SIGHUP 等。调用:trap -l
将列出所有可能的信号。
【讨论】:
以上是关于如何链接 2 个进程,以便当一个进程崩溃时另一个进程也崩溃?的主要内容,如果未能解决你的问题,请参考以下文章