河北恒山建设集团网站自助建站平台搭建
河北恒山建设集团网站,自助建站平台搭建,做的比较好的网站推荐,网站备案许可证号目录
一、基本概念
二、描述进程-PCB
#xff08;一#xff09;task_struct-PCB的一种
#xff08;二#xff09;task_ struct内容分类
三、查看进程
#xff08;一#xff09;利用ps命令
#xff08;二#xff09; 通过 /proc 系统文件夹查看
#xff08;三…目录
一、基本概念
二、描述进程-PCB
一task_struct-PCB的一种
二task_ struct内容分类
三、查看进程
一利用ps命令
二 通过 /proc 系统文件夹查看
三proc是动态目录结构存放所有存在的进程目录的名称就是以这个进程的id命名
四、通过系统调用获取进程标示符getpid和getppid
一下载getpid手册
二使用getpid
三使用getppid
五、通过系统调用创建进程-fork
一认识fork
二fork有两个返回值
三用 if 进行分流 一、基本概念
课本概念程序的一个执行实例正在执行的程序等内核观点担当分配系统资源CPU时间内存的实体进程 可执行程序 内核数据结构PCB
二、描述进程-PCB
进程信息被放在一个叫做进程控制块的数据结构中可以理解为进程属性的集合课本上称之为PCBprocess control blockLinux操作系统下的PCB是: task_struct
一task_struct-PCB的一种
在Linux中描述进程的结构体叫做task_structtask_struct是Linux内核的一种数据结构它会被装载到RAM(内存)里并且包含着进程的信息
二task_ struct内容分类
标示符: 描述本进程的唯一标示符用来区别其他进程。状态: 任务状态退出代码退出信号等。优先级: 相对于其他进程的优先级。程序计数器: 程序中即将被执行的下一条指令的地址。内存指针: 包括程序代码和进程相关数据的指针还有和其他进程共享的内存块的指针上下文数据: 进程执行时处理器的寄存器中的数据[休学例子要加图CPU寄存器]。IO状态信息: 包括显示的I/O请求,分配给进程的IO设备和被进程使用的文件列表。记账信息: 可能包括处理器时间总和使用的时钟数总和时间限制记账号等。其他信息
三、查看进程
一利用ps命令
ps ajx//列出所有用户的所有进程的详细信息 ps ajx | head -1 ps ajx | grep mybin
//ps ajx | head -1 获取当前运行的所有进程的列标题
//ps ajx | grep mybin 在所有进程中寻找包含关键词 mybin 的进程 二 通过 /proc 系统文件夹查看
ls /proc/ ---用于列出系统中所有正在运行的进程的相关信息 三proc是动态目录结构存放所有存在的进程目录的名称就是以这个进程的id命名
ls /proc/7976 -dl//显示进程ID为7976的进程的目录信息而不显示目录中的内容 四、通过系统调用获取进程标示符getpid和getppid
进程idPID父进程idPPID
一下载getpid手册
sudo yum install -y man-pages 二使用getpid
#includestdio.h
#includesys/types.h
#includeunistd.h
int main()
{int i 0;while (i 100){pid_t id getpid();printf(My process id is:%d\n, id);sleep(1);}return 0;
} 使用kill
kill -9 32212//强制终止PID为32212的进程(-9表示强制) 三使用getppid
#includestdio.h
#includesys/types.h
#includeunistd.h
int main()
{int i0;while(i100){ printf(I am a process, myid: %d, parent id: %d\n,getpid(),getppid()); sleep(1); } return 0;
} 五、通过系统调用创建进程-fork
一认识fork
while :;do ps ajx | head -1 ps ajx | grep mybin;sleep 1;echo #————————————————————————————————————————————————————#;done 在fork函数被调用之前的代码被父进程执行父子进程代码共享fork之后父子进程回执行一样的代码但是数据各自开辟空间私有一份采用写时拷贝以父进程为模板为子进程创建PCB
二fork有两个返回值
fork成功的时候会有两个不同的返回值给子进程返回0给父进程返回子进程的pidfork失败的时候则在父进程中返回 -1 三用 if 进行分流
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/89628.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!