2013-04-25 84 views
1

C程序退出我知道execlp替換當前process.I我試圖運行上執行execlp功能

execlp("mpg123", "mpg123", "-q", "1.mp3", 0); 

有什麼辦法,我可以繼續運行,而execlp執行程序?

回答

3

fork一個新的進程,並做好孩子過程中的exec電話:

pid_t child_pid = fork(); 
if (child_pid == -1) 
    perror("fork"); 
else if (child_pid == 0) 
{ 
    /* In child process, call `exec*` */ 
} 
else 
{ 
    /* In parent process, continue doing... things... */ 
} 
+1

您可能要解釋的是,'的功能exec'家庭有效的替換過程中它是從調用。它在手冊頁中。 – ATaylor 2013-04-25 05:31:38

+0

@ATaylor OP已經意識到這一點。 – 2013-04-25 05:41:34