Linux进程控制—01
1.进程创建
fork函数的使用
pid_t fork(); //创建一个进程,父子进程数据独有,代码共享。
//子进程中返回0,父进程返回子进程id。
写时拷贝技术:子进程复制了父进程,一开始与父进程指向同一块物理内存。因此看起来父子进程完全相同,但是进程之间具有独立性。意味着当这块物理内存中数据即将发生改变时会重新给子进程开辟物理内存,将数据拷贝过来,因为子进程应该有自己的数据。
vfrok函数的使用
pid_t vfrok();
创建一个子进程,并且阻塞父进程,直到子进程exit提出或者程序替换之后,父进程才会运行。
vfrok创建子进程效率比较高,因为vfork创建子进程之后与父进程共用同一个虚拟地址空间。
子进程作用
创建子进程大多数情况下并不是为了让子进程干跟自己一样的事情,而是让子进程去调度另一个程序运行。
#include<stdio.h>
#include<unistd.h>
int main()
{
printf("---create child process start---%d\n", getpid());
pid_t pid;
pid = fork();
if(pid == 0)
{