一.调试信息fork
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
int main()
{
pid_t pid;
pid_t pid2;
pid = getpid();
printf(“before fork: pid = %d\n”,pid);
fork();
pid2 = getpid();
printf(“after fork : pid = %d\n”,pid2);
if(pid == pid2){
printf(“this is father print\n”);
} else {
printf(“this is child print,child pid = %d\n”,getpid());
}
return 0;
}
二.fork使用
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
int main()
{
pid_t pid;
printf(“father pid: %d\n”,getpid());
pid = fork();
if(pid>0){
printf(“this is father print,pid = %d\n”,getpid());
} else if(pid == 0) {
printf(“this is child print,child pid = %d\n”,getpid());
}
return 0;
}
三.补充
#include <sys/types.h>
#include <unistd.h>
#include <stdio.h>
int main()
{
pid_t pid;
pid_t pid2;
pid_t retpid;
pid = getpid();
printf(“before fork: pid = %d\n”,pid);
retpid = fork();
pid2 = getpid();
printf(“after fork : pid = %d\n”,pid2);
if(pid == pid2){
printf(“this is father print,retpid = %d\n”,retpid);
} else {
printf(“this is child print,retpid =%d,child pid = %d\n”,retpid,getpid());
}
return 0;
}