Linux中的进程管理
文章目录
一.进程定义:
1.进程的定义:
总的来说,进程是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础:
[1]程序是静态的代码文件。
[2]进程是指程序运行时的形态。
[3]进程是程序的一个副本。
[4]进程是有生命周期的(准备期,运行期,终止期)。
2.进程和线程:
总的来说,线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。则:
[1]进程是资源调用的最小单位。
[2]线程是进程的最小单位。
[3]程序执行流是从上倒下贯穿运行的 。
[4]进程是多任务物,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程。
[5]线程资源是共享的.。
3.进程状态:
进程状态 | 含义 |
---|---|
R(TASK_RUNNING) | 可执行状态(running,ready) |
S(TASK_INTERRUPTABLE) | 可唤醒休眠 |
T(TASK_UNINTERRUPTABLE) | 不可唤醒休眠 |
D(TASK_STOP) | 暂停态 |
Z(EXIT_ZOMBIE) | 僵死态 |
用食堂大妈打饭这个事件可以形象地理解进程状态,若将打饭这个动作看作执行:
[1]R:食堂打饭已准摆好盘子和饭卡,排队等待阿姨打饭
[2]S:打饭的时候在旁边纠结选哪个菜,阿姨让你先站在旁边等着,等你选好了就可以排队等待阿姨打饭了
[3]T:打饭的时候没有带饭卡,阿姨让你站队伍旁边但是你却不能进行打饭这个操作
[4]D:视频的暂停键
[5]Z:打完饭后由于跟阿姨聊天而导致占了别人的打饭队伍,一直占用着系统资源不放,需要手动清除bug
二.进程命令查看:
1.图形进程查看工具:
命令 | 效果 |
---|---|
gnome-system-monitor | 图形进程查看工具 |
执行命令后的界面:
图片左边所示的就是图形进程查看工具
Dependencies:依赖性,可以形象地用打饭这个程序,每个人都必须要带碗来理解
2.进程查看:
ps命令可以对于系统中的进程进行查看,其中ps命令下包含了三种执行风格,分别是UNIX,BSD,GNU,用man ps可以看到三种执行风格的差异,实际执行ps命令时三种风格的参数是可以混用的:
ps命令 | 效果 |
---|---|
ps a | 与终端相关的进程(当用户登陆系统后产生的进程都是带终端的) |
ps x | 与终端无关的进程 |
ps u | 用户信息归类的查看方式 |
ps f | 进程的层级关系 |
ps o | 显示指定的参数pid,comm,nice,pri,pcpu,ppid,stat,user,group |
ps -e | 显示所有进程 |
ps -f | 显示信息的完整格式 |
ps -H | 显示进程的层级结构 |
ps -o | 显式指定参数 |
ps --sort= | 按一定标准以及顺序排序 |
[1]ps a:与终端相关的进程:
[2]ps x:与终端无关的进程:
ps ax可以显示所有进程:
[3]ps u:用户信息归类的查看方式:
ps aux可以显示所有进程但与ps ax显示的信息不同:
[4]ps f:进程的层级关系:
用ps axf可以显示所有进程的层级关系:
[5]ps o:显示指定参数pid,comm,nice,pri,pcpu,ppid,stat,user,group,各个参数的输入顺序可以颠倒并且可以单独输入,参数之间相互独立互不影响:
[6]ps -e:显示所有进程:
[7]ps -f:显示信息的完整格式:
[8]ps -H:显示进程的层级结构:
[9]ps -o:显式指定参数:
ps -eo %cpu指按进程使用cpu的用量来显示所有进程:
[10]ps --sort==:按一定顺序显示进程信息: