ここにコードがあり、厳密に ls -l を 5 回実行すると予想していましたが、それよりもはるかに多く実行されているようです。ここで何が間違っていますか?ls を 5 回実行したいので、5 回 fork します。待つという概念をちゃんと理解していないのではないでしょうか?私はたくさんのチュートリアルを調べましたが、フォークを使用して複数のプロセスに徹底的に取り組んでいるようには見えません。
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <unistd.h>
int main()
{
pid_t pidChilds[5];
int i =0;
for(i = 0; i<5; i++)
{
pid_t cpid = fork();
if(cpid<0)
printf("\n FORKED FAILED");
if(cpid==0)
printf("FORK SUCCESSFUL");
pidChilds[i]=cpid;
}
}