千家信息网

LINUX系统编程之进程

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,LINUX系统编程之进程一、操作系统职责:管理所有的资源,将不同的设备和不同的程序关联起来。二、系统调用是操作系统提供给用户程序的一组特殊函数接口,用户程序可以通过这组接口获得系统内核提供的服务,例如
千家信息网最后更新 2026年11月03日LINUX系统编程之进程

LINUX系统编程之进程

一、操作系统职责:管理所有的资源,将不同的设备和不同的程序关联起来。


二、系统调用是操作系统提供给用户程序的一组特殊函数接口,用户程序可以通过这组接口获得系统内核提供的服务,例如:打开文件,关闭文件,读写文件。


三、POSIX(Portable Operation System interface)

Linux中,应用程序编程接口(API)遵循POSIX标准,用于保证应用程序可以在源代码一级上在多种操作系统上移植运行。


四、系统调用按功能逻辑可分为:进程控制、进程间通信、文件系统控制、系统控制、内存管理、网络管理、socket控制、用户管理。

通常用一个负的返回值表明错误,0值表明成功可用perror打印出错信息


五、进程

程序:可执行文件(静态),进程:程序的执行实例(动态)

进程的状态:创建,调度,消亡

进程拥有自己的环境和资源

用exec函数将程序由内核读入内存使其执行起来成为一个进程


六、进程的生命周期

创建

调度

就绪态:已具备执行条件,等待分配CPU时间

执行态:正在占用CPU

等待态:不具备某些执行条件,无法继续执行

消亡


七、PCB(进程控制块)

OS根据PCB对并发执行的进程进行控制和管理,系统在创建一个进程时会开辟一段内存空间存放与此进程相关的PCB数据结构

PCB中记录了用于描述进程进展情况及控制进程运行所需的全部信息。

PCB是进程存在的唯一标志,linux中PCB存放在task_struct结构体中,打开/include/linux/sched.h可以找到task_struct 的定义


八、进程控制

进程号0~32767 0号调度进程 1号init进程

除调度进程外,所有进程都是由init进程直接或间接创建的

PID进程号getpid() PPID父进程号getppid() PGID进程组号getpgid()


九、文件描述符:以进程为单位分配0-1023最小可用的描述符


十、进程状态转换

CPU调度算法:优先级,先来先调度,短时间优先,时间片轮转

umask掩码,屏蔽文件权限

ps命令查看当前进程


十一、创建进程 fork() vfork()

1.fork()在子进程中返回0,在父进程中返回值大于0,调用fork()以后,源程序被复制了一份,两份程序中只有fork()返回值不一样,两份程序同时执行,顺序不定,父子进程物理地址不同,虚拟地址相同。

问:如果一个程序同时执行了三个fork(),它创建了几个进程

fork();1(0)

fork();2(0) 3(1)

fork();4(0) 5(1) 6(2) 7(3)

第一次调用,0号进程创建了1号进程

第二次调用,0号进程创建了2号进程,1号进程创建了3号进程

第三次调用,0号进程创建了4号进程,1号进程创建了5号进程,2号进程创建了6号进程,3号进程创建了7号进程

一共创建了2的n次方减一个进程


2.vfork()一般配合exec使用,子进程共用父进程地址空间,保证子进程先运行,调用exec或exit后父进程再运行

exec函数族是进程替换函数,将新的地址空间赋给原来的进程,进程号不变,新程序从main开始运行

exec只有失败才返回,exec后面的代码不执行

但注意exec是一个函数族,有execlp,execvp,execle,execve等

只能用exit()结束子进程,而return是返回到函数执行的首地址

atexit(void (*function)(void))注册退出处理函数



十二、输入输出缓冲区

系统调用无缓冲

标准IO库函数输入输出为行缓冲

标准IO库操作文件为全缓冲


十三、

僵尸进程:子进程结束而父进程未调用wait()或waitpid()回收其资源

孤儿进程:父进程结束而子进程未结束

守护进程:特殊的孤儿进程,脱离终端运行在后台

wait()/waitpid():等待子进程结束并回收其资源

用ps查看进程,kill+pid或pkill+进程名结束进程


进程 程序 系统 函数 文件 控制 调度 运行 地址 管理 资源 缓冲 不同 操作系统 内存 时间 标准 用户 空间 编程 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中国互联网科技股 厦门中拓互联网络科技有限公司 互联网的科技创新 狮子座互联网科技 碳银互联网科技 镁科技互联网资讯平台 顺网科技2021年互联网排名 互联网科技公司需要的职位 现代科技和互联网有关系吗 字节跳动和互联网科技 互联网科技创新服务 晓花互联网科技有限公司网址 知域互联网科技有限公司大骗子 崇明区互联网教育科技售后服务 杭州壁岐互联网科技有限公司 深圳艾果互联网通讯科技 广州千川互联网科技有限公司 版纳互联网科技选哪家 福仕德教育科技互联网 青岛互联网科技园 互联网核心科技是什么 广州互联网科技公司 广州凡科互联网科技 企晟互联网信息科技有限公司 徐州市互联网科技有限公司 互联网科技公司营业执照怎么办理 中科明德北京互联网科技 上海钢联属于互联网科技股吗 四川互联网展示科技馆设计 东营紫格互联网科技
0