Когда я вызываю fork() в main.I не получает значение 0 для дочернего идентификатора процесса. Мой код:Функция Fork не возвращает значение 0?
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/wait.h>
int main(){
pid_t pid = fork();
printf("pid in child=%d and parent=%d\n",getpid(),getppid());
wait(NULL);
}
И выход:
pid in child=15690 and parent=11593
pid in child=15691 and parent=15690
Где проблема? Как я знаю, у меня должно получиться значение 0 для дочернего процесса во второй строке.
Это Идентификатор возвращаемого 'fork', который будет нулевым в ребенке. У ребенка и родителя будут pids, но ребенок, по-видимому, не должен знать его. –