for 1,10 と fork() si が実行された場所で作成されたプロセスの数を数えたいと思います。プログラムは Linux で実行されます。wait や WEXITSTATUS の使い方が本当にわからず、フォーラムで何時間も費やしましたが、まだわかりません。誰か助けてくれませんか?
ありがとう、ドラゴス
#include <sys/types.h>
#include <unistd.h>
#include <sys/wait.h>
#include <stdio.h>
#include <stdlib.h>
int nr = 1;
int main()
{
int pid;
int i;
int stare;
for(i = 1; i<=10 ; i++)
{
pid = fork();
if( pid !=0 )
{
//parent
wait(&stare);
nr = nr + stare;
}
else
{
//child
nr++;
stare = WEXITSTATUS(nr);
exit(nr);
}
}
printf("\nNr: %d\n", nr);
}