簡體   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