Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如果收到事件或超时,则终止进程_C++_Linux_Unix - Fatal编程技术网

C++ 如果收到事件或超时,则终止进程

C++ 如果收到事件或超时,则终止进程,c++,linux,unix,C++,Linux,Unix,我有一个用execl运行进程的孩子和一个等待它的家长。如果我收到一个stopEvent(使用pipe2和poll实现),那么子级将被杀死。如果子进程运行该进程超过10分钟(monitore with sigtimedwait),则会杀死该子进程。如果我尝试同时实现poll和sigtimedwait,并且收到stopEvent,则子项将继续运行10分钟,然后关闭。 有人知道一种更有效的方法来实现这一点吗?有一个超时参数。这似乎比轮询和信号更容易管理。我知道,但我有两个相互独立的事件提示:stopE

我有一个用execl运行进程的孩子和一个等待它的家长。如果我收到一个stopEvent(使用pipe2和poll实现),那么子级将被杀死。如果子进程运行该进程超过10分钟(monitore with sigtimedwait),则会杀死该子进程。如果我尝试同时实现poll和sigtimedwait,并且收到stopEvent,则子项将继续运行10分钟,然后关闭。
有人知道一种更有效的方法来实现这一点吗?

有一个超时参数。这似乎比轮询和信号更容易管理。

我知道,但我有两个相互独立的事件提示:stopEvent和timeout。在父线程中,我启动了一个单独的线程,等待超时事件。完成后,您能否从子线程中发送父线程等待的信号,以表示父线程可以停止等待?这比让孩子超时有点过分。