繁体   English   中英

使用exec / fork运行外部进程

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM