我需要一些帮助。我需要执行所有三个execlp()一旦我运行该程序,但发生的是只有情况0执行。我改变pid为1和case1得到执行等等。试图把它放在for循环,但不起作用。我改变了休息,但仍然一样 - 只执行一个进程。有什么建议么?多个execlp不工作
主(){
pid_t pid;
pid= fork();
int i;
if(pid==0){
for (i=0; i<3; i++){
switch (i){
case 0:
execlp("/bin/cat", "cat", "wctrial.txt", NULL);
break;
case 1:
execlp("/bin/mkdir", "mkdir", "mydirectory", NULL);
break;
case 2:
execlp("/bin/wc", "wctrial.txt", NULL);
break;
}
}
}else{
wait(NULL);
printf("Child process completed!");
exit(0);
}
}
即时通讯新手在这里。如果我要创建三个流程,我该如何执行所有这些流程?你能告诉我吗?请! – Dale 2013-03-03 17:14:33
@戴尔:看我的编辑。虽然它看起来很丑,但它应该起作用。 – md5 2013-03-03 17:21:07
现在我明白了!非常感谢! – Dale 2013-03-03 17:26:49