Я пытаюсь написать программу на C, где у меня есть один родитель, создающий два дочерних элемента.Получение идентификатора дочернего процесса от родителя с помощью C
Моя задача - получить идентификатор процесса родителя и обоих дочерних элементов. Для этого я использовал getpid()
.
Теперь меня попросили получить дочернюю информацию от родителя. Я не понимаю, как это сделать. Как я могу получить идентификатор обработки для ребенка из родителя?
я это на данный момент (упрощенный)
fork1 = fork();
if (fork1 < 0)
fork error
else if (fork1 == 0) {
child 1
use getpid()
use getppid()
} else {
fork2 = fork();
if (fork2 < 0)
fork error
else if (fork2 == 0) {
child 2
use getpid()
use getppid()
} else
parent again
}
Разве fork() не возвращает PID дочернего процесса при вызове в родительском процессе? Ссылка на Wiki: http://en.wikipedia.org/wiki/Fork_%28system_call%29#Example_in_C –
Это дублированный вопрос! Проверьте [this] (http://stackoverflow.com/questions/9147760/how-to-get-child-pid-in-c) другой вопрос StackOverflow. –