OSLab多进程
日期:2019/3/23 内容:Linux下与多进程相关的函数。 ? ? 进程基本知识
应用程序关于某数据集合上的一次运行活动。
·操作系统进行资源分配和调度的基本单位 ·进程是程序的一次执行过程。进程是动态的,程序是静态的。 ·同一程序同时运行于若干个数据集合上,该程序将对应与若干个不同的进程。 ·每个进程拥有独立的地址空间。地址空间包括代码段、数据段和堆栈段。 ·进程之间的地址空间是隔离的。一个进程崩溃不会影响另一个进程,一个进程崩溃不会影响到操作系统。(一个程序开了多个进程,全局变量也不会共享) fork函数
在父进程中,fork返回新创建子进程的进程PID; 在子进程中,fork返回0; 如果出现错误,fork返回一个负值;
·OS为子进程创建一个PCB(Process Control Block,进程控制块,其实质是一个结构体) ·复制代码和数据到子进程的地址空间(PID不复制)
? 获取PID代码样例
?
? 并发和隔离样例代码
运行结果 exec系列名词解析: exec:execute l:list,表示参数是列表形式 v:vector,表示参数是数组形式 p:path,有p可以使用相对/绝对路径;没p只能绝对路径。 全家桶如下。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |