文章目录
Linux中的进程管理
一.进程是什么:
1.进程的定义
- 程序是静态的代码文件,用程序开启的动作就是所说的进程。
- 进程是指程序运行时的形态。
- 进程是程序的一个副本。(当我们运行进程的时候,系统会将当前所用的程序的所有代码加载到内存里,并不是直接直接调用硬盘资源,而是把硬盘里的东西复制到内存里,再去运行。)
- 进程是有生命周期的(准备期,运行期,终止期)
2.进程和线程
- 进程是资源调用的最小单位。
- 线程是进程的最小单位。
- 线程的资源可以共享,而进程默认情况下不可共享。
线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一个进程中可以并发多个线程,每条线程并行执行不同的任务,使资源充分利用。当cpu是单核心使,那么线程无意义。当cpu是多核心时,将事件分成若干份,cpu同时处理。
3.进程的状态
进程状态 | 表示 |
---|---|
R | 可执行态(running,ready) |
S | 可唤醒休眠 |
D | 不可唤醒休眠 |
T | 暂停状态 |
Z | 僵死态 |
- R (可执行态):正在被cpu处理的或等待被cpu处理的(已经加载好资源的)
- S(可唤醒休眠):cpu在使用时,每个程序对cpu的占用时间是有严格限制的,当使用超时时,会进入休眠状态,若要再次使用cpu时可以激活。
- D(不可唤醒休眠):当一个程序在系统工作中,还有没有被加载完的资源时,不能让其被cpu处理。
- T(暂停状态):人为控制的状态。
- Z(僵死态):程序已经结束时,但仍旧占用系统资源时(进程出现bug)
二.进程命令的查看:
1.图形进程查看
查看进程信息
或者命令:gnome-system-monitor
- Dependencies:里的程序是其他程序运行的必要条件
2.命令查看
- ps 进程查看
ps命令有三种执行风格:UNIX BSD GNU
BSD下:
命令 | 查看内容 |
---|---|
ps a | 与终端相关的进程 |
ps x | 与终端无关的进程 |
ps u | 用户信息归类的查看方式 |
ps f | 进程层级关系 |
ps o | 显示指定参数 pid comm nice pri pcpu ppid stat user |
ps ax 可以用来显示所有进程:
UNIX下:
命令 | 查看内容 |
---|---|
ps -e | 显示所有进程 |
ps -f | 显示信息的完整格式 |
ps -H | 显示进程的层级结构 |
ps -o | 显示指定参数 |
- -sort= | 排序显示 |
ps查看所有进程且显示信息的完整格式: