Моя программа должна создать несколько дочерних элементов, я беру количество детей из терминала. Затем мне нужно сгруппировать их, и у каждой группы разные задачи.
Я создал детей, но проблема в том, что я не могу давать им отдельные задачи, я не могу различать guish детей. Единственное, что я могу сделать, так это то, что все дочерние элементы работают над одной и той же частью (например, печать pid).
Как я могу разделить их и дать им определенные c задачи?
Например, сначала 4 ребенка должны вызывать функцию, 3 других должны что-то печатать, а 3 других должны писать в файл et c.
pid_t pid[10];
pid[0] = fork();
if(pid[0] > 0)
{
for(int i = 0; i < 9; i++)
{
if(pid[i] > 0)
{
pid[i + 1] = fork();
}
}
}
for(int i = 0; i < 10; i++)
{
if(pid[i] == 0)
{
printf("child %d, parent %d\n", getpid(), getppid());
exit(1);
}
}