一、Linux查看进程命令
1、PS命令:
ps命令是一个相当强大地Linux进程查看命令,运用该命令可以确定有哪些进程正在运行和运行地状态、 进程是否结束、进程有没有僵死、哪些进程占用了过多地资源等。总之大部分信息均为可以通过执行该命令得到。
PS命令语法:
ps [选项]
-e显示所有进程,环境变量
-f全格式
-h不显示标题
-l长格式
-w宽输出
-a显示终端上地所有进程,包括其他用户地进程
-r只显示正在运行地进程
-x显示没有控制终端地进程
PS命令使用:
ps命令用于查看当前正在运行的进程,最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,再对特定的进程进行操作,其中grep起到搜索作用。
通常用ps查看进程PID,例:
ps -ef | grep java //表示查看所有进程里CMD是java的进程信息
ps -aux | grep java //-aux显示所有状态
2、Top命令:
top命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关。
top // 查看整体情况,cpu,内存,进程等信息
top -Hp pid //查看进程相关的线程信息
也可以通过htop命令查看cpu,内存,进程等信息
3、Pstree命令
pgrep命令以名称为依据从运行进程队列中查找进程,并显示查找到的进程id。每一个进程ID以一个十进制数表示,通过一个分割字符串和下一个ID分开,默认的分割字符串是一个新行。对于每个属性选项,用户可以在命令行上指定一个以逗号分割的可能值的集合。
Pgrep命令语法:
pstree [-a] [-c] [-h|-Hpid] [-l] [-n] [-p] [-u] [-G|-U] [pid|user]
-a:显示每个程序的完整指令,包含路径,参数或是常驻服务的标示;
-c:不使用精简标示法;
-G:使用VT100终端机的列绘图字符;
-h:列出树状图时,特别标明现在执行的程序;
-H<程序识别码>:此参数的效果和指定"-h"参数类似,但特别标明指定的程序;
-l:采用长列格式显示树状图;
-n:用程序识别码排序。预设是以程序名称来排序;
-p:显示程序识别码;
-u:显示用户名称;
-U:使用UTF-8列绘图字符;
-V:显示版本信息。
例:
pstree -p // 显示当前所有进程的进程号和进程id
pstree -a // 显示所有进程的所有详细信息,遇到相同的进程名可以压缩显示
pstree -apnh //显示在运行的进程间的关系
pstree -u //显示用户名称
获取 SSH 会话的 PID:
二、Linux杀死进程命令
1、kill是最常用的杀死进程命令,需要配合ps命令先确认待杀死进程的进程号(pid)。
常规用法:kill <pid> // 杀死指定pid号的单个进程
例:
kill -9 <pid> //强制杀死进程
killall <pname> //杀掉所有同名进程
2、pkill跟killall类似,也是通过指定进程名称进行终止,不过功能更强大 。
pkill <pname> // 杀掉所有同名进程或指定用户的所有进程
对于上面killall命令,也可以通过"$ pkill vim"杀死进程。
pkill还有一些更高级的用法,尤其对于Linux系统管理员来说非常方便。比如有个tom用户离职了,需要清理掉其在Linux服务器上的所有进程,执行此命令即可。
pkill -u tony
版权归原作者 铁锅炖大鹅儿 所有, 如有侵权,请联系我们删除。