【问题标题】:How can I link 2 processes so when one crashes make the other one crash too?如何链接 2 个进程,以便当一个进程崩溃时另一个进程也崩溃?
【发布时间】:2011-01-05 17:29:16
【问题描述】:

我正在编写一个 bash 程序,该程序通过命名管道在两个进程(A 和 B)之间具有 IPC。我很担心,因为如果 A 崩溃,B 可能会被无限期地阻塞(反之亦然),因为命名管道正在阻塞。我可以链接 A 和 B,如果 A 崩溃,强制 B 也崩溃吗?解决此阻塞问题的任何其他替代方案将不胜感激。

提前谢谢你。

【问题讨论】:

  • 为什么不在单独的线程中运行通信,如果长时间阻塞则将其杀死?

标签: ipc named-pipes blocking nonblocking


【解决方案1】:

您可能需要一个额外的进程“C”来监控进程“A”和进程“B”的活动

【讨论】:

  • 你的意思是一个进程有A和B的pid并定期检查?
【解决方案2】:

如果您在谈论 bash 脚本?如果是这样,您可以捕获发送到 A 的信号以将其杀死,然后将信号发送到 B 使其退出。

相关的 bash 功能是:trapkill。相关的信号是 SIGKILL、SIGINT、SIGHUP 等。调用:trap -l 将列出所有可能的信号。

【讨论】:

    猜你喜欢
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 2011-06-24
    • 2013-03-12
    • 1970-01-01
    • 2012-10-26
    相关资源
    最近更新 更多