l'enfant et le parent de l'id de processus

Juste de me confondre avec un parent pid valeur de l'enfant dans le processus de bloc. Mon programme est donné ci-dessous:

 int main(int argc, char *argv[])
  {
    pid_t pid;
    pid=fork();
    if(pid==-1){
            perror("fork failure");
            exit(EXIT_FAILURE);
    }
    else if(pid==0){
            printf("pid in child=%d and parent=%d\n",getpid(),getppid()); 
    }
    else{
            printf("pid in parent=%d and childid=%d\n",getpid(),pid);
    }
    exit(EXIT_SUCCESS);
  }

De sortie:
pid parent=2642 et childid=2643

pid de l'enfant=2643 et parent=1

Dans "Avancé programmation Unix" il est dit que le processus enfant peut obtenir parent id de processus à l'aide de getppid() fonction. Mais ici, je suis "1", qui est "init" id de processus.

Comment puis-je obtenir le parent pid valeur dans le processus de l'enfant bloquer.. Merci de m'aider dans l'obtention de la sortie.

J'ai exécuté dans "Linux Mint" à l'OS", mais dans "WindRiver" OS que je ne reçois pas ce problème. Ce programme ne fait modifier son comportement en fonction de l'OS?

OriginalL'auteur Santosh Sahu | 2013-08-09