#include <stdio.h>
#include <unistd.h>
int main(void)
{
pid_t pid;
if((pid=fork())<0)
fprintf(stderr,"fork error\n");
else if(pid==0)
printf("getpid1=%d\n",getpid());
else
printf("getpid2=%d\n",getpid());
printf("getpidr3=%d\n",getpid());
}
结果 :
[wang@crm2 ~]$ ./a.out
getpid1=20825
getpidr3=20825
getpid2=20824
getpidr3=20824
int main(void)
{
pid_t pid;
if((pid=fork())<0)
fprintf(stderr,"fork error\n");
printf("getpidr3=%d\n",getpid());
}
结果 :
[wang@crm2 ~]$ ./a.out
getpidr3=20844
getpidr3=20843
int main(void)
{
pid_t pid;
if((pid=fork())<0)
fprintf(stderr,"fork error\n");
printf("getpidr3c=%d\n",getpid());
printf("getppidr3p=%d\n",getppid());
}
结果 :
[wang@crm2 ~]$ ./a.out
getpidr3c=20866
getppidr3p=20865
getpidr3c=20865
getppidr3p=20567
#include <stdio.h>
#include <unistd.h>
int main(void)
{
pid_t pid;
if((pid=fork())<0)
fprintf(stderr,"fork error\n");
else if(pid==0){
printf("getpid1=%d\n",getpid());
printf("getppidr1p=%d\n\n",getppid());
}
else{
sleep(5);
printf("getpid2=%d\n",getpid());
printf("getppidr2p=%d\n\n",getppid());
}
printf("getpidr3c=%d\n",getpid());
printf("getppidr3p=%d\n\n",getppid());
}
结果 :
[wang@crm2 ~]$ ./a.out
getpid1=20894
getppidr1p=20893
getpidr3c=20894
getppidr3p=20893
getpid2=20893
getppidr2p=20567
getpidr3c=20893
getppidr3p=20567