daemo中若忽略掉了SIGCHLD信號,則在使用system函數時,需先把忽略的信號設置爲默認處理方式,然後才能調用system函數。
否則system調用得到的返回值將不是子進程的返回值。
signal(SIGCHLD, SIG_DFL);
ret = system(cmd);
signal(SIGCHLD, SIG_IGN);
daemo中若忽略掉了SIGCHLD信號,則在使用system函數時,需先把忽略的信號設置爲默認處理方式,然後才能調用system函數。
否則system調用得到的返回值將不是子進程的返回值。
signal(SIGCHLD, SIG_DFL);
ret = system(cmd);
signal(SIGCHLD, SIG_IGN);