#include <unistd.h>
#include <stdio.h>
int main ()
{
pid_t fpid; //fpid
fpid=fork(); //调用fork函数创建子进程
if (fpid < 0) //创建失败
printf(“error in fork!”);
else if (fpid == 0) //子进程创建成功
{
printf(“child process, pid is %d, ppid is %d\n”,getpid(),getppid());
printf(“This is son process!\n”);//
printf("-----------------------\n");//
}
else if (fpid > 0) //父进程
{
sleep(5);
printf(“parent process, pid is %d, ppid is %d\n”,getpid(),getppid());
printf(“This is father process!\n”);
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main()
{
pid_t pid;
int i;
for(i=0;i<5;i++){ //循环创建进程
if((pid=fork())0) //若当前进程为子进程,便打印进程
// sleep(i);
printf(“I am child=%d,pid=%d,ppid=%d\n”,i+1,getpid(),getppid());
}
if(pid-1){
perror(“fork error”);
exit(1);
}
else if(pid>0){ //父进程
/eep(10);
printf("parent process:pid=%d\n",getpid());
}
return 0;
}
#include <stdio.h>
#include <unistd.h>
int main()
{
pid_t pid;
pid = fork();
if(pid == -1)
perror("创建失败");
if(pid == 0)//孩子进程
{
sleep(5);
printf("孩子进程死亡\n");
}
else if(pid > 0)//父进程
{
int times = 20;
while(times--)
{
printf("父进程:%d\n",times);
sleep(1);
}
printf("父进程死亡\n");
}
return 0;
}