Pau*_*kis 2 perl exit-code waitpid
我从waitpid得到错误的退出代码,我无法弄清楚原因.有人可以给我一些想法吗?
我在这做什么:
open2waitpid$?从子进程返回的内容总是以-1为单位返回.我检查VS调试器我的程序返回退出代码0. VS说这样的事情:
The program '[3256] Test.exe: Native' has exited with code 0 (0x0).
Run Code Online (Sandbox Code Playgroud)
我确保pids匹配.
有任何想法吗?
我刚想通了.waitpid有3个阶段:
1. process is running: waitpid returns 0; $? is -1
2. process is exiting: waitpid returns pid; $? is actual exit code
3. process doesn't exist: waitpid returns -1; $? is -1
Run Code Online (Sandbox Code Playgroud)
所以当做某些事情(waitpid($ pid,WNOHANG)> = 0)时,必须在此之前的一个周期内检索退出代码.