ich das Programm ausgeführt wurdeWarum getppid() von dem Kind Rückkehr 1
#include<stdio.h>
#include <unistd.h>
main()
{
pid_t pid, ppid;
printf("Hello World1\n");
pid=fork();
if(pid==0)
{
printf("I am the child\n");
printf("The PID of child is %d\n",getpid());
printf("The PID of parent of child is %d\n",getppid());
}
else
{
printf("I am the parent\n");
printf("The PID of parent is %d\n",getpid());
printf("The PID of parent of parent is %d\n",getppid());
}
}
Der Ausgang ich erhielt, war.
$ ./a.out
Hello World1
I am the parent
The PID of parent is 3071
The PID of parent of parent is 2456
I am the child
The PID of child is 3072
The PID of parent of child is 1
Ich konnte nicht die Linie verstehen
Die PID der Eltern des Kindes ist 1
Es sollte 3071 wurden?
Sie würden das erwartete Verhalten beobachten, indem Sie 'fflush (NULL);' (vor dem 'fork') und' sleep (1); 'hinzufügen (sowohl in als auch in anderen Teilen des' if' und kurz vor dem Ende von 'main'). –