一.进程
1.1 进程的定义:
1) 程序是静态的代码文件
2)进程是指程序运行时的形态
3) 进程是程序的一个副本
4)进程是有生命周期的(准备期,运行期,终止期)
1.2 线程的定义
1) 线程是cpu调度和执行的单位
2)线程会带来额外的开销,如cpu调用时间,并发控制开销.
3)每个线程在自己的工作内存交互,内存控制不当会造成数据不一致.
1.3线程和进程的区别
1)进程是资源调用的最小单位
2)线程是进程的最小单位
程序执行流是从上倒下贯穿运行的
当进程是多任务物,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程
线程资源是共享的.
1.4 进程的状态
R(TAKS_RUNNING) | 可执行态(running,ready) |
---|---|
S(TASK_INTRRUPTABLE) | 可唤醒休眠 |
D(TASK_UNINTRRUPTABLE) | 不可唤醒休眠 |
T(TASK_STOP) | 暂停状态 |
Z(EXIT_ZOMBIE) | 僵死状态 |
命令的查看:ps ax -o stat , comm
二.进程的查看
命令:
gnome-system-monitor 图形进程查看工具
2.1 ps
1)进程查看
2)ps 命令的三种执行风格 unix bsd GNU
unix风格:参数一般带 -
bsd风格:参数不带 -
2.2 ps命令
ps a | 与终端相关的进程 (当用户登陆系统后产生的进程都是带终端的) |
---|---|
ps x | 与终端无关相关的进程 |
ps u | 用户信息归类的查看方式 |
ps f | 进程层级关系 |
ps o | 显示指定参数 pid comm nice pri pcpu ppid stat,user,group |
注意:以上是unix风格
ps -e | 显示所有进程 |
---|---|
ps -f | 显示信息的完整格式 |
ps -H | 显示进程的层级结构 |
ps -o | 显示指定参数 |
ps --sort | 排序 (**-**为负序) |
2.3 ps ax显示信息:
PID | 进程id |
---|---|
TTY | 进程用到的终端 |
STAT | 进程状态 |