这将运行一个程序并给我返回代码。
int returnCode;
returnCode = system(program);
我怎么能用execv做同样的事情?
答案 0 :(得分:5)
exec
系列调用会废弃当前进程并在同一进程空间内启动新程序。如果要在当前程序中执行另一个程序,则需要使用fork
生成一个新进程然后在子进程中调用exec
并让父进程等待子进程完成。然后waitpid
函数将提供子进程的返回码。
有关示例,请参阅here。
答案 1 :(得分:0)