Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 Sep 1999 17:03:56 +0200
From:      Wolfram Schneider <wosch@cs.tu-berlin.de>
To:        questions@freebsd.org
Subject:   [bytong@yahoo.com: (no subject)]
Message-ID:  <19990929170355.A3481@freno.cs.tu-berlin.de>

next in thread | raw e-mail | index | archive | help
----- Forwarded message from bytong <bytong@yahoo.com> -----
Date: Wed, 29 Sep 1999 22:20:02 +0800
From: bytong <bytong@yahoo.com>
Reply-To: bytong@yahoo.com
To: wosch@FreeBSD.org
Subject: (no subject)

Dear :
please find the following c program
main()
{
   int i;
   while ((i=fork())==-1);
   if (i)
      printf("It's parent process,process id %d parent id
%d\n",getpid(),getppid());
   else
     printf("It's child process,process id %d parent id
%d\n",getpid(),getppid());
}

It's  very simple ,but the result amaze me.The parent process return
246,181 which express the
process id and its parent process id,the problem is child process which
return 247,1 ,child process
id is 247,but its parent's process id is 1 not 246,why?
The parent process is just a child process "forked" by another
process,on the result of above
example,i think,getppid() should always return 1.
My freebsd is freebsd 2.2.8
Please tell me why?
My email address: bytong@yahoo.com
Thanks and best regards!





----- End forwarded message -----

-- 
Wolfram Schneider <wosch@freebsd.org> http://wolfram.schneider.org


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990929170355.A3481>