您的位置:首页 > 运维架构 > Linux

linux命令学习——ps和netstat

2015-12-05 18:05 453 查看
一、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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: