zurückkehren Wenn ich den Code untergetpid und getppid zwei verschiedene Werte
#include <stdio.h>
#include <sys/types.h>
//int i=0;
int main(){
int id ;
id = fork() ;
printf("id value : %d\n",id);
if (id == 0)
{
printf ("Child : Hello I am the child process\n");
printf ("Child : Child’s PID: %d\n", getpid());
printf ("Child : Parent’s PID: %d\n", getppid());
}
else
{
printf ("Parent : Hello I am the parent process\n") ;
printf ("Parent : Parent’s PID: %d\n", getpid());
printf ("Parent : Child’s PID: %d\n", id);
}
}
Mein Ausgang laufen ist
id value : 20173
Parent : Hello I am the parent process
Parent : Parent’s PID: 20172
Parent : Child’s PID: 20173
id value : 0
Child : Hello I am the child process
Child : Child’s PID: 20173
Child : Parent’s PID: 1
Wie die PID des Elternteil kann (20172) von dem Kind unterscheiden sich die Eltern-ID (1) ? Sollten diese beiden nicht gleich sein?
Oder konventioneller, wait() und waitpid(). – user314104
@Jackson hat weitere Informationen mit Link hinzugefügt. Ich denke, es muss deine gute Antwort vervollständigen. wenn du es nicht magst, rückgängig zu machen. –