当我在 Linux 上运行的 C++
代码中使用 system(COMMAND)
函数执行命令时,
system(COMMAND)
调用的返回值彼此不同。
我们有没有办法通过system(COMMAND)
函数的返回值来检测段错误或异常终止?
例如,当我使用system
函数执行命令后出现segmentation fault时,我确认该函数的返回值为35584。但是,我不知道该返回值是什么意思,而且我不确定所有可能的段错误都会返回 35584。
当我遇到段错误或异常终止时,有没有办法检测返回值的所有可能值?
最佳答案
man 3 system
返回值的意思引用man 2 wait
。后一页描述了几个可用于此值的宏,特别是 WIFSIGNALED(status)
和 WTERMSIG(status)
。这就是您可以用来检查其他信号的段错误或终止的方法。
关于c++ - 检测Linux中system()函数返回值的含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14222172/