带超时的等待子进程,timed_wait

如果想等待子进程结束,在发送了结束信号(父子进程约定一个退出信号),等待一段时间(比如2秒钟),就强制杀死子进程(SIGKILL),怎么实现呢?

首先想到使用一个线程,在线程中sleep 2 秒,然后杀死子进程,如果在这之前子进程已经退出,只不过会在kill时收到一个错误。

方法确实有效,不过代价好像大了点。

你可能感兴趣的:(带超时的等待子进程,timed_wait)