Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何获取派生程序的返回代码_C++_Linux_Process - Fatal编程技术网

C++ 如何获取派生程序的返回代码

C++ 如何获取派生程序的返回代码,c++,linux,process,C++,Linux,Process,这将运行一个程序,并给我返回代码 int returnCode; returnCode = system(program); 我怎样才能用execv做同样的事情呢?我引用了 exec()函数族 替换当前进程映像 使用新的进程映像 也就是说,执行官没有回来。您希望实现什么,或者说,系统出了什么问题?调用的exec系列会将当前进程丢弃,并在相同的进程空间中启动新程序。如果要在当前程序中执行另一个程序,需要使用fork生成一个新进程,然后在子进程中调用exec,让父进程等待子进程完成。然后,wai

这将运行一个程序,并给我返回代码

int returnCode;

returnCode = system(program);
我怎样才能用execv做同样的事情呢?

我引用了

exec()函数族 替换当前进程映像 使用新的进程映像


也就是说,执行官没有回来。您希望实现什么,或者说,系统出了什么问题?

调用的
exec
系列会将当前进程丢弃,并在相同的进程空间中启动新程序。如果要在当前程序中执行另一个程序,需要使用
fork
生成一个新进程,然后在子进程中调用
exec
,让父进程等待子进程完成。然后,
waitpid
函数将提供子进程的返回代码

int returnCode;

returnCode = system(program);

有关示例,请参见

你的问题的答案的线索可以在OP最近的问题中找到。例如,
setrlimit()