一、ps命令
1、简介
ps是Process Status的缩写,用来列出系统中当前运行的那些进程。ps命令列出的是当前进程的快照,就是执行ps命令这个时刻的进程,可以使用top命令获取动态的进程信息。
2、使用示例
ps -aux|grep php
查看CMD是php的进程的所有状态信息
kill -9 [pid]
强制关闭进程ID对应的进程
3、命令参数
ps --help查看所有命令选项及说明,如图所示:
4、常用命令参考
a、显示所有的进程
命令:ps -A
b、显示指定用户的进程(这里选定root用户)
命令:ps -u root
c、显示所有的进程,包括命令行提示符信息
命令:ps -ef
d、显示所有正在内存中进程,展示进程占用系统资源信息
命令:ps -aux
e、ps与grep组合使用,查找cmd匹配指定内容的进程
命令:ps -aux|grep php
f、列出命令行相关的进程
命令:ps -l
g、树状结构展示所有的进程
命令:ps -axjf
h、显示进程信息,并记录到指定文件中(指定文件名不存在则默认创建该文件)
命令:ps -aux > log.txt
二、Netstat命令
1、简介
netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态(Interface Statistics),masquerade连接,多播成员(Multicast Memberships)等。
命令的输出有两部分,第一部分是Active Internet connections,称为有源TCP连接,其中"Recv-Q"和"Send-Q"指的是接收队列和发送队列,这些数字一般都应该是0,如果不是则表示软件包正在队列中堆积。
第二部分是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能比网络套接字高一倍)。Proto显示连接使用的协议,RefCnt表示连接到本套接口上的进程号,Types显示套接口的类型,State显示套接口当前的状态,Path表示连接到套接口的其它进程使用的路径名。
2、命令参数
注:netstat命令默认是不显示LISTEN状态的网络连接和LISTEING状态的UNIX域连接,只有使用带-a或者-l参数的命令才能显示出来。
-a (all)显示所有状态的连接
-t (tcp)仅显示tcp相关连接
-u (udp)仅显示udp相关连接
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在监听状态的连接
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令。
3、常用命令参考
a、列出所有连接(包括监听和未监听状态)
命令:netstat -a;列出所有状态下的连接
命令:netstat -at;列出所有状态下的tcp连接
命令:netstat -au;列出所有状态下的udp连接
命令:netstat -ax;列出所有状态下的UNINX域连接
b、列出处于LISTEN状态的连接
命令:netstat -l;列出所有处于LISTEN状态的连接
命令:netstat -lt;列出所有处于LISTEN状态的tcp连接
命令:netstat -lu;列出所有处于LISTEN状态的udp连接
命令:netstat-lx;列出所有处于LISTENING状态的UNIX域连接
c、统计通信协议连接信息
命令:netstat -s;统计所有连接的通信协议连接信息
命令:netstat -st;统计基于tcp连接的通信协议连接信息
命令:netstat -su;统计基于udp连接的通信协议连接信息
d、输出中显示进程ID和进程名信息(可搭配其他参数使用)
命令:netstat -p;列出除LISTEN和LISTENING状态下的连接,包含连接所属进程的进程ID和进程名
命令:netstat -tp;列出除LISTEN和LISTENING状态下的tcp连接,包含连接所属进程的进程ID和进程名
命令:netstat -up;列出除LISTEN和LISTENING状态下的udp连接,包含连接所属进程的进程ID和进程名
e、动态输出连接信息
命令:netstat -c;每间隔一秒输出当前连接信息
f、列出特定的连接
命令:netstat -ap|grep postgres