一.进程定义
1.进程的定义:
程序是静态的代码文件
进程是程序运行时的形态
进程是程序的一个副本,
进程是有生命周期的(准备期,运行期,终止期)
2.进程和线程:
进程不一定有线程
进程是资源调用的最小单位,
线程是进程的最小单位
程序执行流是从上到下贯穿运行的
当进程是多任务的,cpu是多核心,多任务应该同时被每个核心处理,每个核心处理的任务叫线程
线程资源是共享的,进程是独立的
cpu一次只能处理一种状态
3.进程的状态:
R(TASKS_RUNNING) 可执行态(running,ready)
S(TASK_INTRRUPTABLE) 可唤醒休眠
D(TASK_UNINTRRUPTABLE) 不可唤醒休眠
T (TASK_STOP) 暂停状态
Z(EXIT_ZOMBIE) 僵死态
二.进程查看命令
gnome-system-monitor 图形进程查看工具
ps 进程查看
ps命令的三中执行风格unix,bsd,GNU
a 与终端相关的进程(当用户登录系统后产生的进程都是带终端的)
x 与终端无关的进程
u 用户信息归类的查看方式
f 进程层级关系
o 显示指定参数 pid comm nice pri pcpu ppid stat user group
-e 显示所有进程
-f 显示信息的完整格式
-H 显示进程的层级结构
-o 显示指定参数
ps ax 显示信息如下:
PID 进程id
TTY 进程用到的终端
STAT 进程的状态
TIME 进程占用cpu时长
COMMAND 进程名称
ps aux显示的信息
USER 进程所有者
PID 进程id
%CPU 进程使用cpu的用量
%MEM 进程所用到的内存用量
VSZ 进程使用的虚拟内存大小
RSS 进程常驻内存中的数据
TTY 进程用到的终端
STAT 进程的状态
START 进程运行时长
TIME 进程占用cpu时长
COMMAND 进程名称
其他进程查看
ps -eH 查看所有进程的层级结构
ps -o comm,pid,ppid,cpu,pcpu 显示特定参数
ps - ef 显示完整格式的所有进程信息
ps axo %cpu,pid,comm,%mem --sort=%mem | head -6 按照内存占有大小排序,列出前五个
pgrep 进程过滤
-u uid 显示指定用户进程
-U uesr 显示指定用户进程
-t tty 显示指定终端进程
-l 显示进程
-a 显示进程完整名称
-p 显示进程的子进程
pidof vim 查看vim的pid
top top中的内容显示信息
20:01:01 系统时间 4:21 运行时间
1 user 系统中有两个用户在登录
load average 系统中的负载(1min,5min,15min)可用uptime命令查看
Tasks 任务总量
1 running 三个正在运行
321 sleeping 休眠任务数量
0 stopped 被暂停数量
0 zombie 僵死任务数量
%cpu(s)
13.4us 用户空间
2.8 sy 内核空间
0.0 ni nice值调整时间
82.2id 空闲时间
0.0 wa 等待io时间
1.3 hi 处理硬件中断时间
0.3si 处理软件中断时
0.0 st 被偷走的时间(vm使用时间)
Mib Mem
total 总量
free 空闲(可以被清理)
used 占用
buff/cache 缓存(可以被清理)
Swap 虚拟交换分区用量
total 总量
free 空闲
used 占用
avail Mem 可用
top命令的参数:
-d 指定刷新频率(默认三秒)
-b 按批次进行刷新
-n 指定显示的批次数量
top内部指令:
P cpu排序
M 内存排序
T 累计占用cpu的时间排序
l 关闭/开启uptime信息
t 关闭/开启cpu&task
s 指定刷新频率
k 操作进程
u 查看指定用户进程