首先我使用FIFO远程使用mpg123实现暂停功能,但现在我想在文件自动播放时关闭mpg123播放器。
播放电流的代码是
pid p = fork();
if (p<0)
return;
else if (p==0)
execlp("mpg123", "mpg123", "-R", "--fifo", "aFifo", NULL);
else
system("load test.mp3 > aFifo");
目前如果该文件通过子进程播放其他如果(p == 0)将保留在那里并且mpg123播放器进程将继续存在
答案 0 :(得分:1)
你的问题中没有?
,但无论如何
您的代码看起来不对,因为system
使用了fork
和exec
引擎盖下。因此,而不是一个fork
和一个exec
您使用fork
三次并使用execv
两次。
在此处阅读如何运行流程:how to correctly use fork, exec, wait
以正确的方式运行进程后,您有mpg123
的真实pid,
因此,如果你想要,你可以杀死它,或者暂停或你想要什么。