c++ - 检测Linux中system()函数返回值的含义

标签 c++ linux signals system return-value

当我在 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/

相关文章:

c++ - C 中的 execv 调用

c - 是否有可用的跨平台 C 信号库(更好的开源)?

c++ - Boost Beast 握手 : sslv3 alert handshake failure error

c++ - 在不破坏托管对象的情况下删除 std::shared_ptr?

c++ - 如何处理警告C4177 : #pragma 'float_control' should only be used at global scope or namespace scope

python - 使用 mmap 增加文件的大小

c++ - 如何从数据集中读取特定的字符列

linux - 在多个地方定义的规则的 Logrotate 行为

linux - 如何在 Linux 中测试浏览器兼容性

java - 如何用Java实现Chebyshev Type 2 LPF?