一个需求是:设置进程/线程的超时时间,到时间后,自动结束该进程。
找了一圈,没有发现 Linux 提供该机制。只能自行实现。
子进程结束时,会向父进程发送 SIGCHILD 消息。父进程在消息处理函数中,通过 wait() 调用,即可获得子进程号。于是,通过 fork() 并维护子进程列表,即可实现进程的自动结束。
本文介绍了一种在 Linux 环境下手动实现进程超时自动结束的方法。利用 fork() 创建子进程,并通过监听 SIGCHILD 信号及使用 wait() 函数捕获子进程状态,从而实现对进程执行时间的控制。
一个需求是:设置进程/线程的超时时间,到时间后,自动结束该进程。
找了一圈,没有发现 Linux 提供该机制。只能自行实现。
子进程结束时,会向父进程发送 SIGCHILD 消息。父进程在消息处理函数中,通过 wait() 调用,即可获得子进程号。于是,通过 fork() 并维护子进程列表,即可实现进程的自动结束。

被折叠的 条评论
为什么被折叠?