どのようにして、きちんと親プロセスを取得して複数の子を作成しますか。それぞれの子はそれ自身のことを行う必要があります。また、子供は名前のないパイプを使って親とやりとりする必要があるので、ここではexecvを使うことはできないと思います。 複数の子供を育てる方法、それぞれの子供は別のことをしますか?
私はこのような何かを持っていた:int main (int argc, const char * argv[])
{
pid_t pids[2];
int i;
for (i = 0; i < 2; ++i) {
if ((pids[i] = fork()) < 0) {
fprintf(stderr, "Error. Couldn't fork\n");
exit(EXIT_FAILURE);
} else if (pids[i] == 0) { // child
if (i == 0) {
readerChild();
} else {
writerChild();
}
}
}
//parent stuff;
for (i = 0; i < 2; ++i) {
wait(NULL);
}
return 0;
}
が、私は一つだけを望んでいたとき、私の出力に応じて、2人のライターの子供たちが、作成されます。