[问题] wait & waitpid

楼主: gn00618777 (非常念旧)   2021-10-26 23:54:23
大家晚安
我有一段code
exe_command(cmd); //cmd 做 sed -i /server/d /etc/ntp.conf
...
...
...
exe_command(cmd) //cmd 做 echo server xxxx.xxx.xxx >> /etc/ntp.conf
用测试程式执行一两次发现 ntp.conf 经常是空的,把前面 command 删除则正常加入
但前面的command要保留不能删除
看进去
exe_command:
pid = fork();
if(pid < 0) {}
else if(pid > 0) {
wait(&staus); //
作者: Schottky (顺风相送)   2021-10-27 09:31:00
此处要用 waitpid 才对在 wait 之前有任何 unwaited child process 全部都会算在 wait 头上被接收,包括但不限于你列出来的部份code
作者: Lipraxde (Lipraxde)   2021-10-28 21:12:00
收到各种 signal wait 都会跳出来,处理超麻烦的
楼主: gn00618777 (非常念旧)   2021-11-02 21:19:00
我这段改成waitpid()的func会造成许多zombie...

Links booklink

Contact Us: admin [ a t ] ucptt.com