2012-02-03 24 views
0

調用exec之後之後,是不是可以打印的消息,因爲我想和什麼都沒有發生。我讀了一些關於exec的文章,但是我找不到我的答案。它用新的過程映像替換過程映像,但不創建新的過程。這是關於它的嗎?如果我在子進程中使用它,它是否等待我的意思?它是否等待結束子進程?調用exec

我舉這個例子:

char *args[6] = { "cat","-b","-t","-v",argv[1],0}; 

else if(pid == 0){ 
printf("Child Process ID:%d, Parent ID:%d, Process 
Group:%d\n",getpid(),getppid(),getgid()); 
execv("/bin/cat",args); 
printf("AHMET TANAKOL\n"); 
} 
+0

什麼是你想實現 - 它的聲音,我有我不明白你的意思做,但我從來沒有使用過Linux的,直到這個時候,這就是爲什麼我不知道很多東西做這個 – 2012-02-03 04:58:28

+0

更好的辦法 – 2012-02-03 05:00:10

+0

這很酷 - 但你的意圖是什麼。還舉例說明你想運行的程序 - 可能有API方法來獲得結果或其他選項。即我想編寫一個運行另一個程序的程序,第二個程序的輸出在我的終端中可見。 – 2012-02-03 05:03:05

回答

3

exec家庭,就像你已經讀過,取代過程映像。也就是說,它加載新程序,刪除程序,並開始運行新程序來代替程序。

沒有調用exec功能不斷返回,除非有一個錯誤。