查看进程:ps
ps是将某个时间点的进程状态显示出来
ps aux 将系统全部进程列出来
ps -lA 也是能够查看系统所有进程
ps -l 只查看自己bash的进程
字段含义
Awei@localhost ~]$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 2.0 0.3 128252 6972 ? Ss 14:24 0:04 /usr/lib/syste
user 用户
pid 进程pid
cpu cpu用量
mem 占用物理内存百分比
vsz 虚拟内存用量
rss 该进程占用的固定内存
tty 在哪个终端运行 ?为系统进程
stat s为休眠可唤醒 r 运行中 d 不可被唤醒的休眠状态 通常是i/o情况 z 僵尸进程
time 占用cpu时间
command 哪个命令触发的
动态查看进程状态:top
相对于ps针对某个时间点而言,top可以动态的了解进程情况
top -d 数字 | top -bnp
-d 后面接刷新的秒数 默认五秒
-b 批量的方式执行top 通常配合数据重定向
-n 与-b搭配 批量几次的意思
-p 指定某个pid检测
top里的命令
? 输出目前可以输入的命令
P 以cpu使用排序
M 以内存使用排序
N pid排序
T 以cpu使用时间排序
k 给某个进程一个信号
r 重定义某个进程nice值
q 退出top
top - 14:40:10 up 15 min, 2 users, load average: 0.10, 0.10, 0.15
Tasks: 240 total, 1 running, 239 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.3 us, 1.3 sy, 0.0 ni, 98.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 1863104 total, 278660 free, 764660 used, 819784 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 916580 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2509 Awei 20 0 3866660 200924 75284 S 4.0 10.8 0:15.42 gnome-shell
pid 每个进程pid
user 所属用户
pr 优先级 越小越优先
ni nice值 与优先级有关
后面的与ps基本相同
进程树状图:pstree
pstree -A|U -up
-A 各个进程用ASCII连接
-U 各个进程用Unicode连接
-p 显示pid
-u 列出所属账号名
[Awei@localhost ~]$ pstree -A -up
systemd(1)-+-ModemManager(904)-+-{ModemManager}(932)
| `-{ModemManager}(934)
|-NetworkManager(988)-+-{NetworkManager}(997)
| `-{NetworkManager}(1000)
|-VGAuthService(850)
|-abrt-watch-log(900)
|-abrt-watch-log(905)
|-abrtd(898)
|-accounts-daemon(855)-+-{accounts-daemon}(870)
| `-{accounts-daemon}(892)
|-alsactl(849)
|-at-spi-bus-laun(2472,Awei)-+-dbus-daemon(2477)---{dbus-daemon}(2478)
| |-{at-spi-bus-laun}(2473)
| |-{at-spi-bus-laun}(2474)
| `-{at-spi-bus-laun}(2476)
|-at-spi2-registr(2480,Awei)-+-{at-spi2-registr}(2483)
| `-{at-spi2-registr}(2484)
|-atd(1251)
这样可以方便我们追根溯源
()里面的就是pid和user 一般来说所有者如果与父进程一样,就只显示pid
通过pid结束进程:kill
kill -1|9|15 pid
1 重载配置
9 强行终止
15 正常终止
通过command结束一系列服务:killall
kill结束进程需要pid 找起来很麻烦 例如一个服务有好多进程
所以killall可以一键结束服务
killall 【-iIe】 -1|9|15 command name
-i 人机互动
-e exact意思 后面接的命令名要一致 不能超过15字符
-I 忽略命令名称大小写
进程的执行顺序
首先要明白 pri是系统内核自己定义的无法修改
需要修改nice值来决定优先顺序
直接运行赋予优先值
nice -n数字 command
修改运行中的优先值
renice number pid
注意
nice值范围 -20-19
root可以随意在-20-19之间调整
一般用户只可以调整自己的进程,且优先级是0-19 防止抢占系统资源
一般用户只可以将nice值越调越高