目录
进程管理
进程的定义:程序在运行时进入内存,就叫进程。进程是动态的,是cpu的资源和内存。
前台进程:独占Bash
将前台进程调到后台运行: 指令 & 、ctrl+z
后台进程:可以释放Bash
查看后台进程任务号: jobs
在后台继续运行:bg % 任务号、
将后台进程调到前台运行: fg % 任务号
以不依赖bash的方式运行进程:关闭终端,其进程依然运行
nohup firefox & >/dev/null
不依赖Bash打开火狐浏览器
进程管理的指令
查看进程ps指令
ps 不加选项的话,只能查看当前终端的进程 ,可以有下列选项:
ps -aux #列出所有进程的详细信息
ps -eux #显示的内容更多
ps -ef
ps -o
ps -efx -o %cpu,pod #查看某些特定信息
ps aux | sort -k 3 #将第3列参数正向排序,-r反向排序
进程信息列表中各个项目代表的意义 :
USER ⇒ 进程的拥有者
PID ⇒ 进程的 ID 号
%cpu ⇒ 进程占用的 cpu 的百分比
%MEM ⇒ 进程占用内存的百分比
PPID ⇒ 父进程
NI ⇒ 进程的 nice 值,数值越大,表示占用 cpu 时间少
VSZ ⇒ 进程的虚拟内存的使用量(kb)
RSS ⇒ 进程真实内存使用量(kb)
TTY ⇒ 进程在哪个终端运行,如果是?,表示没有在任何终端运行
START ⇒ 进程运行的开始时间
STAT ⇒ 进程状态
D ⇒ 无法中断的睡眠
R ⇒ 正在运行
S ⇒ 休眠
T ⇒ 停止
W ⇒ 进入了内存交换
X ⇒ 死了的进程
Z ⇒ 僵尸进程
< ⇒ 优先级高的进程
N ⇒ 优先级低的进程
+ ⇒ 进程在后台 x
TIME ⇒ 进程实际运行的时间
COMMAND ⇒ 进程运行了什么命令
pgrep、pidof指令查pid
lsof查看系统中的进程
lsof -i | grep httpd 查看某个进程的情况
nice指令修改进程的nice值
nice -n -20 程序名 #没有运行的程序
renice -n -20 pid #已经运行的进程
nice -n nice 程序名/指令 #nice = [-20,19]
kill指令结束进程
kill pid #整洁的结束进程
kill -9 pid #强行杀掉进程,不推荐
top系统进程管理器(任务管理器)
top指令,动态查看进程。可以有下列的操作
top -d 1 #每隔 1s 刷新 1 次 ,默认每 3s 刷新一次
进程状态
S ⇒ Sleep,可以响应别人的信号被唤醒。
R ⇒ Running
D ⇒ 睡眠,与S不同,不可以响应别人的信号。
K ⇒ 可以被中断的进程
T ⇒ Stop
Z ⇒ 僵尸进程,无法被释放
top快捷键
M ⇒ 进程按使用内存量排序
P ⇒ 进程安CPU使用量排序
r ⇒ renice 修改正在运行的进程的nice值(r -> 回车-> inputPID -> 回车 -> input newNnice值)
k ⇒ 杀掉一个进程(k -> pid -> 信号)
killall 程序名 ⇒ (杀一类进程)
z ⇒ 改变颜色
看其他cpu状态(看其他core)按 0,1,2,3
top界面信息的意义
load average ⇒ 1分钟负载,5分钟负载,16分钟负载,也可以用uptime指令得到负载参数,一般用于脚本
PR ⇒ :优先级
VIRT ⇒ 虚拟内存的使用
RES ⇒ 实际内存的使用