进程
Wavesgf
这个作者很懒,什么都没留下…
展开
-
Linux--进程间通信
系统是以进程进行工作的的,进程的地址空间是独立的,进程之间有可能需要数据交互 进程间通信: 1.管道:有名管道 无名管道 2.信号量 3.消息队列 4.共享内存 管道 1.有名管道(半双工通讯) 单工通信 半双工通讯 全双工通讯 有名管道:在磁盘空间会有一个管道文件标识(inode节点),只要是有权限操作这个管道文件的进程,都可以利用其和其他进程进行数据交互 有名管道虽然在磁盘上有管道文件标识,但在使用管道文件来进行进程通信时,数据会被缓存到内存上,并不会占据磁盘的block区域 有名管道的使用 创建原创 2020-09-02 19:24:03 · 217 阅读 · 0 评论 -
信号量习题
题目:三个进程分别打印A,B,C,要求输出的结果必须是“ABCABC”顺序执行 设置三个信号量: sem1:初始值设置为1,保证进程可以执行,对sem1执行P操作,进程3输出C后,对sem1进行V操作 sem2:初始值设为0,进程2执行后对sem2进行P操作,进程1输出A后对sem2进行V操作 sem3:初始值设为0,进程3执行后对sem3执行P操作,进程2输出B后对sem3执行V操作 sem.h #pragma once typedef union semun { int val; }SemUn; in原创 2020-09-02 18:25:27 · 437 阅读 · 0 评论 -
Linux--进程替换
进程替换:替换的是进程所执行的指令集合和数据 exec系列方法: 示例: test程序代码: main程序代码: 执行结果: 两个代码由一个进程执行,并且execl成功,exel之下的代码全部被替换;失败的话,执行原代码 一般是和fork配合使用,fork之后,通常子进程使用exec做进程替换 ...原创 2020-08-31 16:37:58 · 130 阅读 · 0 评论 -
Linux--信号
信号 信号就是系统预先定义好某些特定的事件,信号可以被发送,可以被接收,发送和接收的主体都是进程。 如果一个进程接收到了一个信号,就表示他接收到了一个发生的事件 键盘上输入ctrl+c – > 就会给当前终端上执行的进程发送一个信号 信号的定义:/usr/include/bits/signum.h 1.修改信号的响应方式 当进程接收到SIGINT信号后,打印“hello world” 实现代码: 实现结果: ctrl+c是终端前台接收 signal修改了信号的响应方式,在下一次修改前都有效 利原创 2020-08-31 15:41:43 · 74 阅读 · 0 评论 -
Linux--内核对进程的管理
进程管理 进程: 描述进程西南西的结构或者进行进程管理和控制 --PCB 进程实体部分 – 有序指令 数据 系统管理进程(可执行程序代码+各种资源及处理器状态等等)是通过PCB(进程描述符)来记录这些数据,从而管理进程。 操作系统管理PCB是通过双向循环链表管理,链表中每一项都是task_struct,该结构在32位机器中大小约17k 1.执行程序时,要生成一个进程,先申请PCB,然后加载程序部分 2.一个进程结束时,先释放实体部分,再释放PCB 僵尸进程:进程实体释放与其PCB释放有时间差(PCB释放需原创 2020-08-28 13:29:33 · 147 阅读 · 0 评论 -
Linux--进程复制
进程复制 – fork方法 pid_t fork(void); 程序执行结果: fork方法调用成功后,就会有两个进程储存在,调用fork进程为父进程,新复制的进程为子进程 fork有两次返回,父进程中返回子进程pid,子进程中返回0 fork之前代码只有父进程会执行,fork之后父子进程分别执行,子进程只执行fork之后的代码 在上述代码中可以将想父进程执行的代码块放在else中,想子进程执行的代码块放在if块中 fork之后,父子进程并发执行,先后并不依赖代码的先后顺序 思考1: 程序分析:原创 2020-08-28 16:43:31 · 478 阅读 · 0 评论 -
Linux--僵死进程
僵死进程及其处理 概念:父进程未结束,子进程结束,而且父进程未处理子进程的结束 孤儿进程:父进程结束,子进程未结束,那么子进程就是一个孤儿进程,孤儿进程会被系统的init进程接管 示例如下: 模拟代码如下 在子进程打出“child over”后,dead的子进程还是未结束(defunct标识)此为僵死进程 僵死进程的处理:在父进程中调用系统调用方法:pid_t wait(int *status)调用时,是此时传递一个变量的地址,返回子进程的退出状态 返回处理子进程的PID,如果失败,返回-1 一个父进程存原创 2020-08-31 14:59:57 · 176 阅读 · 0 评论