ここで助けが必要です。プログラムを実行したら、3 つの execlp() をすべて実行する必要がありますが、case 0 のみが実行されます。pid を 1 に変更すると、case1 が実行されます。forループに入れようとしましたが、うまくいきません。break を continue に変更しましたが、同じです - 1 つのプロセスだけが実行されます。助言がありますか?
主要(){
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);
}
}