【发布时间】:2012-12-22 17:31:25
【问题描述】:
当我在 Linux 上运行的 C++ 代码中使用 system(COMMAND) 函数执行命令时,
system(COMMAND) 的调用返回值不同。
我们有什么方法可以通过system(COMMAND)函数的返回值来检测分段错误或异常终止?
例如,当我使用system函数执行命令后出现分段错误时,我确认该函数的返回值为35584。但是,我不知道该返回值是什么意思,我不确定所有可能的分段错误都返回 35584。
当我遇到分段错误或异常终止时,有没有办法检测所有可能的返回值?
【问题讨论】:
-
您可以使用较低级别的
fork、pipe、dup2、close、execve、waitpid系统调用。然后waitpid给出正确的状态。您还可以使用一些特定于库的函数(例如Gtk和Qt都为异步进程提供函数)。
标签: c++ linux signals system return-value