进程管理
1. 显示进程:
# ps
a #当前环境的所有进程
x #所有进程
-A #所有进程
f #显示进程从属关系
l #长列表显示进程的详细信息
u #显示进程的用户信息
-a #显示shell前台运行命令的进程,不包含shell本身
ps -o %cpu,%mem,user,nice,stat,pid,comm #显示进程的内容
%cpu #进程占用cpu内存,即cpu进程负载
%mem #进程内存负载
user #进程用户
nice #进程优先级
stat #进程状态(status)
comm #命令即进程名称
pid #进程id
ps --sort<+%cpu #正序
ps --sort<-%cpu #倒序
#习题:
#显示系统进程中占用cpu内存前五个pid
ps ax --sort=-%cpu -o pid,%cpu | head -n 6 | tail -n 5
# 1829 21.2
# 597 3.7
# 30101 2.7
# 30335 2.5
# 1886 2.5
2.进程优先级
1.优先级范围(-20--19)
N优先级低
<优先级高
+前台运行
s顶级进程(优先级最高)
2.查看优先级
ps ax -o pid,nice,comm
ps ax -o pid,nice,comm
PID NI COMMAND
1 0 systemd
2 0 kthreadd
3 0 ksoftirqd/0
5 -20 kworker/0:0H
6 0 kworker/u2:0
7 - migration/0
8 0 rcu_bh
3.指定某个优先级开启进程
nice -n 优先级数字 进程名称
[root@localhost ~]# vim &
[1] 3061
[root@localhost ~]# nice -n -5 vim &
[2] 3080
[root@localhost ~]# ps -o pid,comm,nice
PID COMMAND NI
2207 bash 0
3061 vim 0
3080 vim -5 #指定vim&进程以 -5的优先级运行
3082 ps 0
4.改变进程优先级
renice -n 优先级数字 进程pid
[root@localhost ~]# renice -n -3 2365
[root@localhost ~]# ps -a -o comm,pid,nice
COMMAND PID NI
vim 2365 -3
ps 2375 0
5.环境中进程的前后台调用
jobs #查看在环境后台运行的进程
ctrl+z #把占用终端的程序打入后台
fg 进程名称 #把后台调回到前台
bg 进程名称 #把后台暂停的进程运行
comm & #让命令直接在后台运行
6.进程信号
1 #进程重新加载配置
2 #删除进程在内存中的数据
3 #删除鼠标在内存中的数据
9 #强行结束单个进程(不会被阻塞)
15 #正常关闭进程(可能被阻塞)
18 #运行暂停的进程
19 #暂停某个进程(不会被阻塞)
20 #把进程打入后台(会被阻塞)
man 7 signal #查看信号详细信息
7. #关闭pid为3008的进程
kill -9 3008(强制关闭不阻塞)
kill -15 3008*(阻塞)
#关闭所有vim进程
killall -9 vim
#关闭student用户中所有进程
pkill -u student 1694
#运行暂停程序
kill -18 pid
#暂停运行程序
kill -19 pid(不阻塞)
#暂停运行程序
kill -20 pid (阻塞)
8.用户登陆审计:
last #查看登陆成功用户
[root@localhost ~]# last
root pts/1 172.25.254.64 Mon Apr 9 18:10 still logged in
root pts/0 :0 Mon Apr 9 17:32 still logged in
root pts/0 :0 Mon Apr 9 17:31 - 17:32 (00:01)
root :0 :0 Mon Apr 9 17:29 still logged in
w -f #查看正在登陆用户
[root@localhost ~]# w -f
18:11:22 up 42 min, 3 users, load average: 0.07, 0.06, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root :0 :0 17:29 ?xdm? 1:02 0.04s gdm-session-worker [pam/gdm-password]
root pts/0 :0 17:32 2:18 0.03s 0.03s /bin/bash
root pts/1 172.25.254.64 18:10 2.00s 0.02s 0.00s w -f
lastb #查看未成功登陆用户
[root@localhost ~]# lastb
root ssh:notty 172.25.254.232 Mon Apr 9 13:17 - 13:17 (00:00)
root ssh:notty 172.25.254.232 Mon Apr 9 13:16 - 13:16 (00:00)
root ssh:notty 172.25.254.232 Mon Apr 9 12:45 - 12:45 (00:00)
root ssh:notty 172.25.254.232 Mon Apr 9 12:41 - 12:41 (00:00)
9.top命令:
s #修改系统刷新间隔时间
m #根据内存占用率进行排序
c #根据cpu占用率进行排序
u #输入用户名,用来查看该用户发起的所有进程
k #后面跟作用的进程pid,和发起的信号用来给某个进程发起一信号
q #退出进程查看界面
h #显示帮助
Z #改变颜色
10.服务状态
loaded #系统服务初始化完成,加载过配置
active(running) #正有一个或者多个程序在系统中执行(vsftpd)
active(exited ) #只执行一次就结束的服务
atcive(waiting) #正在执行当中(不过需要再等待其他的事情才能继续处理)
inactive #服务关闭
enabled #服务开机时自启
disabled #服务开机不自启
static #服务开机启动不可被管理
failed #系统配置错误
dead #关闭