pclose函数返回值的解释

pclose 的返回值(子进程退出状态)与 waitpid 获得的子进程退出状态类似,都需要使用 WIFEXITED() 和 WEXITSTATUS() 宏进行判断。

我在做PA1-表达式求值时,使用这两个宏过滤出了 带有除0行为的 子表达式,因为带有除0行为的 子进程会抛出 Floating point Exception 异常(收到 SIGFPE信号)。其中 WEXITSTATUS(exit_status) = 136。

使用WEXITSTATUS() 得到的退出码的含义可查询 https://www.geeksforgeeks.org/exit-codes-in-c-c-with-examples/

关于waitpid的部分可以参考这里:https://www.geeksforgeeks.org/exit-status-child-process-linux/

posted @ 2022-07-29 10:19  yinhuachen  阅读(1130)  评论(0编辑  收藏  举报