当我在Linux上运行C++代码并使用system(COMMAND)函数执行命令时,每次调用system(COMMAND)的返回值都不同。我们有没有办法通过system(COMMAND)函数的返回值检测分段错误或异常终止?
例如,当我使用system函数执行命令后出现分段错误时,我确认该函数的返回值为35584。然而,我不知道该返回值的含义,也不确定所有可能的分段错误是否都返回35584。是否有一种方法可以检测遇到分段错误或异常终止时所有可能的返回值?
例如,当我使用system函数执行命令后出现分段错误时,我确认该函数的返回值为35584。然而,我不知道该返回值的含义,也不确定所有可能的分段错误是否都返回35584。是否有一种方法可以检测遇到分段错误或异常终止时所有可能的返回值?
fork
、pipe
、dup2
、close
、execve
、waitpid
系统调用。然后,waitpid
将给出正确的状态。你还可以使用一些特定于库的函数(例如,Gtk
和Qt
都提供了用于异步进程的函数)。 - Basile Starynkevitch