[問題] 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