首页 > 解决方案 > 使用 sigaction、SIGKILL 和警报处理程序杀死耗时超过 3 秒的分叉进程

问题描述

我正在编写一个 C 程序,它将第一个程序的输出通过管道传输到第二个程序的输入。如果任一程序的终止时间超过 3 秒,则程序需要使用 sigaction 和 SIGKILL 终止。

我的程序适用于“好”的输入。我不确定如何实现它,以便它在超过 3 秒的进程中表现得应有尽有。这是我第一次使用进程间通信,我被迫使用 sigaction 来促进它。我完全迷失了这部分程序的实施。

我创建了两个子进程:每个程序一个。如果我的一个子进程的终止时间超过 3 秒,我如何使用系统调用、sigaction 和 SIGKILL 来终止整个程序?

标签: cmultiprocessingforkwaitsigaction

解决方案


推荐阅读