最近有一个程序,转移到另一台服务器上了,在接受返回值的时候一直出问题。
waitpid(pid, &status, WNOHANG);
WEXITSTATUS(status)老实返回16,郁闷。
最后发现是信号的问题。在fork子进程前,添加对子进程的信号接受就可以了。
signal(SIGCHLD,SIG_DFL);
最近有一个程序,转移到另一台服务器上了,在接受返回值的时候一直出问题。
waitpid(pid, &status, WNOHANG);
WEXITSTATUS(status)老实返回16,郁闷。
最后发现是信号的问题。在fork子进程前,添加对子进程的信号接受就可以了。
signal(SIGCHLD,SIG_DFL);