waitpid非阻塞不能回收资源
时间: 2023-10-06 07:12:07 浏览: 89
深入探讨:unix多进程编程之wait()与waitpid()函数
waitpid的阻塞和非阻塞是指父进程调用waitpid函数时是否阻塞等待子进程结束。
如果waitpid被设置为非阻塞模式(WNOHANG),则父进程不会阻塞等待子进程结束,而是立即返回,如果子进程还没有结束,则返回值为0,如果子进程已经结束,则返回子进程的PID。
waitpid函数的作用是等待子进程结束并回收子进程的资源,所以无论waitpid是否阻塞,都能回收子进程的资源。但是,在非阻塞模式下,父进程需要循环调用waitpid函数来等待多个子进程结束并回收资源。
因此,waitpid的阻塞和非阻塞模式只是控制父进程是否阻塞等待子进程结束,不影响父进程能否回收子进程的资源。
阅读全文