我需要一些帮助。运行程序后,我需要执行所有三个 execlp() 但发生的情况是只有 case 0 被执行。我将 pid 更改为 1 并且 case1 被执行,依此类推。尝试将其放入 for 循环但不起作用。我更改了 break 以继续但仍然相同 - 只执行一个进程。有什么建议么?
主要的(){
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);
}
}