掌握Linux进程控制的精髓:《Linux系统编程、网络编程》第5章要点解析
需积分: 16 49 浏览量
更新于2024-11-08
收藏 13KB ZIP 举报
资源摘要信息:"《Linux系统编程、网络编程》第5章 进程控制"
1. 进程与程序:
进程是正在运行的程序的实例,它是系统进行资源分配和调度的一个独立单位。程序是存储在磁盘上的可执行文件,而进程则是该程序在内存中的实际运行状态。
2. 进程PID与三个特殊进程:
进程标识符(PID)是系统分配给每个进程的唯一标识号。在Linux中,有三个特殊的进程,分别是PID为0的进程调度进程(swapper),PID为1的init进程,以及PID为2的中断进程。
3. fork函数的作用:
fork是一个系统调用,用于创建一个新进程,称为子进程,它是当前进程的副本。在Linux系统编程中,fork是进程创建的基石,它使得一个进程可以创建一个新的执行流程。
4. 父子进程对文件的共享:
fork调用后,父子进程共享文件描述符表,但是每个进程有自己的地址空间和寄存器集合。父子进程通过文件描述符表共享打开的文件,从而实现文件的共享。
5. execve加载函数:
execve是一个系统调用,用于在当前进程中加载并运行一个新程序。执行execve后,当前进程的地址空间被新程序替换,但进程的PID保持不变。
6. system函数:
system是一个库函数,它提供了一个简单的界面来运行一个shell命令。在Linux系统编程中,system函数内部实际上使用了fork和execve,以及等待子进程结束的waitpid函数。
7. 进程的资源回收:
当进程结束时,系统需要回收该进程所占用的资源。这包括关闭所有打开的文件描述符,释放内存等。在父进程的wait或waitpid调用中等待子进程结束,从而完成资源的回收。
8. wait函数:
wait系统调用用于暂停父进程的执行,直到它的某个子进程结束。wait函数可以获取子进程的退出状态,并且从系统中删除已结束的子进程记录。
9. 进程状态:
进程可能处于不同的状态,如运行、就绪、阻塞等。Linux通过进程控制块(PCB)来管理进程的状态信息。
10. Java进程:
Java进程是运行Java字节码的进程。在Linux环境下,Java进程的创建和管理遵循Linux进程控制的一般规则。
11. 进程关系:
Linux中的进程可以通过进程组和会话来组织。一个进程组包含多个进程,而一个会话则是一组进程组的集合。
12. 守护进程:
守护进程是在后台运行的、没有控制终端的进程。它们通常在系统启动时启动,并在系统关闭时结束。
13. return/exit/_exit:
在C程序中,return通常用于从函数返回,而exit是库函数,用于终止进程。_exit是系统调用,用于终止进程,它比exit更底层,并且不执行一些标准的清理工作。
14. 环境变量表:
环境变量表是运行时环境的一部分,存储了进程运行所需的各种环境信息,如PATH、HOME、SHELL等。
15. 环境变量API:
Linux提供了多个API函数,如getenv、setenv和unsetenv,用于获取、设置和删除环境变量。
16. C程序的内存空间布局:
C程序的内存空间通常包括代码段、数据段、堆和栈。代码段存储程序代码,数据段存储全局变量,堆用于动态内存分配,栈用于存储局部变量和函数调用帧。
17. C库:
C库是C程序运行所依赖的标准函数库,包括函数如printf、scanf、malloc等。Linux中的C库通常指的是glibc,它是GNU项目的C库实现。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-06-12 上传
2007-09-16 上传
2017-08-07 上传
129 浏览量
点击了解资源详情
星话大白
- 粉丝: 23
- 资源: 17
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析