2013-04-25 49 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