
系统编程
wh_0727
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux:进程、进程状态、进程管理、进程加载
一.进程:即运行中的程序,操作系统为了唯一标识一个进程,会给进程分配一个ID,即PID 程序:存储在磁盘上可执行的二进制文件(ELF格式) 1.查看进程状态:/proc/PID/status2.进程命令: 查看进程:ps ps -e :显示系统所有的进程 ...原创 2018-11-13 21:10:33 · 381 阅读 · 0 评论 -
Linux:父子进程关系研究、fork函数
1.创建子进程(系统调用函数):pid_t fork(void)注:引用#include<unistd.h>头文件若创建失败返回-1,成功则fork函数调用一次返回两次,即在原来进程(父进程)中返回新进程(子进程)的pid,且子进程pid绝对不为0,在新进程中返回0。 #include<stdio.h>#include<stdlib.h>...原创 2018-11-14 20:43:29 · 638 阅读 · 0 评论 -
Linux:僵死进程
僵死进程的产生: 1.当父进程未结束,子进程结束,并且父进程未获取子进程的退出状态。子进程被称为僵死进程。 2.进程执行结束,进程主体(执行代码、数据、资源)都释放,而其PCB 并未释放。 3.孤儿进程:父进程死后僵死进程成为“孤儿进程”,由init接管 #include<stdio.h>#include<stdlib....原创 2018-11-14 21:13:51 · 206 阅读 · 0 评论 -
Linux:信号的底层实现机制
1.信号:系统先定义好的某些特定的事件,可以被发生,也可以被接受。发生和接受的主体都是进程。2.信号机制:系统预先定义好的一些事件3.进程对信号的响应方式:当进程发生时,用户可以要求进程以以下三种方式之一对信号做出响应: a.默认信号(SIG_DFL):按系统默认方式处理,大部分信号的默认操作是终止操作,且所有的实时信号的默认动作都是终止进程。 ...原创 2018-11-14 21:33:54 · 5611 阅读 · 2 评论 -
Linux进程间通讯(1):消息队列、信号量
进程间通讯有以下几种:管道、消息队列、信号量、内存共享一、消息队列消息: 数据 & 类型队列: 先进先出 优先级队列消息队列:发送带有类型的数据,读数据的进程可以根据类型获取特定的数据,并且在这一类型上遵循先进先出。 具体操作:Linux提供了一系列消息队列的函数接口来让我们方便地使用它来实现进程间的通信。它的用法与其他两个System V PIC机制,即信号量...原创 2018-12-04 20:42:11 · 507 阅读 · 0 评论 -
Linux进程间通讯(2):管道、共享内存
三、管道 管道是一种半双工通信,即允许信号在两个方向上传输,但某一时刻只允许信号在一个信道上单向传输。管道是把一个程序的输出直接连接到另一个程序的输入,常说的管道多是指无名管道,无名管道只能用于父子的进程之间,这是它与有名管道的最大区别。(1)、管道有固定大小:实际上,管道是一个固定大小的缓冲区(2)、管道读取进程比文件读取进程快:当所有当前进程数据已被读取时,管道变空。...原创 2018-12-04 21:33:35 · 627 阅读 · 0 评论