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