进程管理
进程是已启动的可执行程序的运行实例,是程序运行的过程,动态的,有生命周期和运行状态
组成:已分配内存的地址空间、安全属性(所有权和特权)、程序代码的一个或多个线程、状态
程序:通常为二进制文件存放在存储媒介中
线程:进程的一个执行路径,同一个进程中的线程共享进程的资源
每个进程之间都有独立的地址空间,进程间切换会有较大的开销,而线程更轻量化,减少资源消耗
查看进程
ps(precess status)——静态进程查看器
查看所有进程的信息
ps aux | 可配合管道使用
例:
ps aux | head -2——查看进程管理器前2行
ps aux | grep passwd——查看passwd相关进程
补充:
ps a——显示现行终端机下的所有程序
u——以用户为主的格式来显示程序状况
x——不以终端机来区分
ef——查看进程的父进程(pid为子进程,ppid为父进程)
axo 列名——自定义显示进程
--sort -%cpu——以cpu占用率降序排列
--sort %cpu——升序排列(减号之分)
用户:PID:%cpu:%MEM:VSZ:RSS:TTY:STAT:START:TIME:COMMAND
-
用户:谁在运行
-
PID:进程的id编号
-
%cpu:cpu占用率
-
%mem:资源占用率
-
vsz:占用虚拟内存(系统分配了多少)
-
rss:占用实际内存
-
tty:进程运行的终端(?表示本机)
-
stat:进程状态
-
T——stopped 停止运行
-
R——running 正在运行
-
Z——zombie 占用资源不运行
-
S——sleeping 休眠状态
-
X 杀死的进程
-
-
start:进程的启动时间
-
time:进程占用cpu的总时间
-
COMMAND:进程文件,进程名
排序
ps aux --sort 列名 按列名
例:ps aux --sort %cpu 按cpu占用率升序排列
ps aux --sort -%cpu 列名前加减号是降序排列
查看父进程
ps -ef
PPID为父进程
查看进程指定信息
ps axo 列名1,列名2,...
top——动态进程管理器
top -d 1 ——每一秒刷新一次
-d 1 -p PID,PID ——查看一个或多个指定进程的信息
第一部分:
-
第一行——程序名-系统时间 up运行时间,users登录用户数,cpu负载 :5分钟占比,10分钟占比,15分钟占比
-
第二行——总进程数(tasks),运行数R,睡眠数S,停止数T,僵死数Z
-
第三行——cpu占用率,us用户,sy系统,ni优先级,id空闲cpu,wa等待,hi硬件,si软件,st虚拟机
-
第四行——物理内存K:total总共,free空闲,used使用,cache缓存硬盘内容
-
第五行——虚拟内存
top常用指令
<前翻
>后翻
M——以内存使用排列
N——以PID大小降序排列
P——以cpu占用率排列
q——退出操作状态
z——更改颜色
k——杀死进程
杀死进程
kill命令——对进程进行操作
语法:kill 参数 PID
kill -l 列出所有可操作的指令
kill -1 进程号 重新加载配置
kill -2 ctrl+c作用一样,中断操作
kill -3 ctrl+\,键盘退出
kill -9 无条件强制终止进程
kill -15 正常终止
kill -18 继续
kill -19 暂停
kill -20 键盘暂停