进程监控
1.ps 命令
可以查看系统中所有运行进程的详细信息
格式:
ps [选项]
-a 显示一个终端的所有进程
-u 显示进程的归属用户及内存使用情况
-x 显示没有控制终端的进程
-l 以长格式显示更加详细的信息
-e 显示所有进程
此命令我们用得较少,但是有几个重要,适合新手的组合,记住即可
ps -aux 可以查看系统中所有进程
ps -le 可以查看系统中所有进程,还能看到父进程PID 和优先级
ps -l 只能看到当前shell 产生的进程
-le 与 -aux 相比也就是输出更加详细的信息。
2.额外的如果只想知道一个用户的进程
pstree [选项] [PID 或用户名]
此命令可以通过输出用户名来 决定只输出哪个用户的进程
-a 显示启动每个进程对应的完整命令,包括启动进程的路径,参数等
-c 不适用精简法显示进程信息,
-n 根据pid来排序输出,默认以程序名排序
-p 显示进程的pid
-u 显示进程对应的用户名称
无用户名与用户名对比.png
3.如果想实时监控进程的状态
top [选项] 可以实现这一效果.
-d 指定top命令每隔几秒更新,默认三秒
-b 使用批处理模式输出
-n 指定top 命令执行的次数
-p仅查看指定ID 的进程
-u 指定用户
-s 使top命令在安全模式中运行
其中 top命令的进程字段含义如图:
字段解析.jpg
结束进程
- 杀死进程
使用 kill 和 killall命令来结束进程
格式: kill [-信号] PID (信号表如下图)
killall [选项][信号] 进程名
-i :交互式,询问是否杀死进程
-I 忽略进程名的大小写
很明显, killall 和 kill 不同的是 killall通过程序的进程名来杀死的
- pkill命令
pkill命令对比killall 是具有同样的用法,都是通过进程名称来杀死该进程。
但是一个更重要的作用是,按照终端号来踢出已登录的用户
(例如通过远程登录工具登录的用户)
pkill [-信号][-t 终端号] 进程号
先使用 w 命令查看已登录的用户
w 执行结果
其中,TTY 该列表示的是 进程名。
使用命令 pkill -9 -t xxx,即可踢出 从XXX 虚拟终端登录的进程。
(注意此处说的进程而不是用户,事实上杀死该登录进程,也就T出了该用户)
进程信号表
信号表.jpg
网友评论