使用fork函数创建一个进程
pid_t fork(void);
- fork函数调用成功,
- 返回两次 返回值为0, 代表当前进程是子进程
- 返回值非负数,代表当前进程为父进程
- 调用失败,返回-1;
fork创建一个进程的目的
- 一个父进程希望复制自己,使父、子进程同时执行不同的代码段。这在网络服务进程中使常见的——父进程等待客户端的服务请求。当这种请求到达时,父进程调用fork,使子进程处理此请求。父进程则继续等待下一个服务器请求到达。
- 一个进程要执行一个不同的程序。这对shell是常见的的情况。在这种情况下,子进程从fork返回后立即调用exec。
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
int main()
{
pid_t pid;
//get process pid;
pid = getpid();
//create new_process;
fork();
if(pid ==getpid()) printf("this %d is father process!\n",pid);