fork函数
fork函数用于创建当前进程的子进程,创建子进程时,子进程会复制与父进程一样的堆栈段和数据段,和代码段。
而且fork的返回值,在不同进程中,返回的值不一样,在子进程中,是返回0,而在父进程是返回子进程的PID
进程常用函数
等待函数_____wait(int *status):
1,等待其中一个子进程结束:
①status参数,用于保存子进程结束状态的值
2,发出调用的进制只要有子进程,就会睡眠到子进程中,一个终止为止
3,如果调用成功,则返回子进程的进程ID,如果没有调用成功,则返回-1
等待指定pid的进程结束_____waitpid(pid_t pid,int *status,int options):
①options使用WNOHANG参数,即使没有子进程退出,它也会立即返回,不会像wait那样永远等下去
②status参数,用于保存子进程结束状态的值
终止函数_____exit(int status):
1,status为返回退出的状态值,可以用wait获取此值
2,终止本进程
上锁函数_____lockf(fd,mode,size):
1,fd参数为文字描述字
2,mode参数为锁定方式,1为加锁,2为解锁
3,size参数为指定文件的位置,0表示从当前位置到文件尾
任务一:在main父进程创建两个子进程, ,两个子进程不编写自己的代码,编译运行查看效果。
任务二:在main父进程创建两个子进程, 分别输出两个子进程与父进程的id号。
任务三:在任务2的基础上,在父进程中设置wait函数,等待子进程结束,分别对比与任务3的结果有什么区别,并进行分析。
任务四:在main父进程创建两个子进程, 分别在父进程与子进程设置循环输出,查看运行结果,并分析原因
任务五:在任务4的基础上,使用lockf函数进行资源锁定。