进程 :
进程是个抽象的东西,它是程序执行的过程。 它也是操作系统分配资源(实际上就是分配内存)的最小单位。
pid_t fork()函数
是用来创建进程的函数, 返回值 >0的时候是父进程,=0的时候是子进程 <0的时候出错
也可以这样理解:成功,在父进程地址空间返回子进程的ID,在子进程地址空间返回0;失败返回-1。
下面就用fork函数来创建两个进程 ,代码如下
#include<stdio.h>
#include<unistd.h>
int main()
{
pid_t pid;
int num = 0;
pid = fork();
if(0 > pid)
{
perror("error");
return -1;
}
else if(0 == pid)
{
num = 9;
printf("child process pid=%d num= %d\r\n",getpid(),num);
}else
{
sleep(1);
printf("patent process pid = %d num = %d\t\n",pid,num);
}
printf("执行完打印我");
return 0;
}
最下面的那句打印语句 是需要打印两次的 , 因为它执行完子进程以后,会执行到程序结束return0 , 然后再去执行一次父进程,所以打印结果如下: