如何使用waitpid()来获取子进程的状态?

时间:2015-10-06 21:38:24

标签: c++ system-calls

我试图获得子进程的状态。例如,当我运行“adjsafkl”这是一个不存在的命令时,系统打印“WRONG”,但是当我运行“cp sssa”时,该文件夹也不存在,但系统不会将此命令标记为WRONG。我不知道有没有解决这个错误?

1 个答案:

答案 0 :(得分:3)

您可以在WIFEXITED之后检查WEXITSTATUS:

  

WIFEXITED:如果孩子正常终止,则返回true,       也就是说,通过调用exit(3)或_exit(2),或从main()返回。

     

WEXITSTATUS:返回孩子的退出状态。      这包括状态的最低8位      子项在exit(3)或_exit(2)调用中指定的参数      或者作为main()中return语句的参数。这个宏    只有在WIFEXITED返回true时才应该使用。