进 程

1.进程:进行中的程序。

微观串行,宏观并行。

程序的一次执行过程

进程是程序的一个实例

一个程序可以对应一个或多个进程。

2.为什么需要进程?
3.进程的组成部分:

进程 = pcb 块 + 栈|堆|bss|data|text

其中:

家族:操作系统

PID 进程ID号

PR 进程优先级

S 进程的状态:进程的生命周期

4.进程的状态:

操作系统理论:三态模型

5.观察进程:

1.top -- 类似于windows下的任务管理器

2.ps

ps aux | grep a.out //某个pid号及状态信息

ps -elf |grep a.out //查看父子进程id

ppid(parent process id) //父进程pid号

Linux系统中,进程间关系是一种父子关系。

3.pstree -sp【pid号】 //查看父子进程间的关系、树状图

4.kill -【】 -9 给进程发信号 killall 可以指定进程名称。

6.进程的生命周期:

1.创建进程

fork() 通过复制调用进程复制的子进程(复制进程实体|数据代码)

返回值:成功:父进程返回子进程的PID号、子进程返回0

失败返回-1并没有子进程被创建

注:1.pid号是一个非负整数。

2.父子进程的空间:在32位系统中,每个进程拥有4g运行空间(虚拟的)。

3.每个进程运行在独立的4G内存空间中

4.父子进程中,数据相互独立,不受影响。

5.父子进程运行的顺序不确定。取决于操作系统先调度谁。

6.孤儿进程会被收养自动变成后台进程。

7.子进程结束,父进程没有收,是僵尸态

8.孤儿进程,子进程在,父进程不在。32位系统被init收养,64位系统被systemd收养。资源被回收。

相关推荐
YuMiao4 小时前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
chlk1231 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑1 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件1 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒1 天前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号2 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash2 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行3 天前
Linux和window共享文件夹
linux
Sinclair3 天前
简单几步,安卓手机秒变服务器,安装 CMS 程序
android·服务器