[英]Use exec/fork to run external process
我正在使用C ++并尝试在外部进程中运行shell命令。 这是我到目前为止的代码:
pid_t pid;
pid = fork();
if(pid == 0){
execv(args[0],args);
} else {
wait();
}
我的第一个问题是,我需要从传递给exec的shell命令中获取输出,但我不知道该如何获取。 在运行上面的代码后,主程序也会自我复制,我不确定为什么。
args[0]
大概是正在运行的程序的名称,因此它将分叉然后执行。
为了收集输出,您将需要安排显式传递它。 Unix pipe()
调用经常用于此目的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.