这是我参与8月更文挑战的第9天,活动详情查看:8月更文挑战linux
在服务运行过程当中,咱们经常要查看整个服务器端口和进程占有的状况,甚至必要时要中断进程。今天这篇文章总结一下对咱们颇有帮助的几个命令。服务器
列出当前系统打开文件的工具,经过lsof工具可以查看应用程序打开文件的描述符列表,能对系统监测以及排错提供至关大的帮助。markdown
lsof -i :portNumber 列出谁在使用某个端口
复制代码
netstate 命令用于显示各类网络相关信息,如网络链接,路由表,接口状态 (Interface Statistics),masquerade 链接,多播成员 (Multicast Memberships) 等等。网络
常见参数app
参数 | 说明 |
---|---|
-a (all) | 显示全部选项,默认不显示LISTEN相关 |
-t (tcp) | 仅显示tcp相关选项 |
-u (udp) | 仅显示udp相关选项 |
-n | 拒绝显示别名,能显示数字的所有转化成数字 |
-l | 拒绝显示别名,能显示数字的所有转化成数字 |
-p | 显示创建相关连接的程序名 |
-r | 显示路由信息,路由表 |
-e | 显示扩展信息,例如uid等 |
-s | 按各个协议进行统计 |
-c | 每隔一个固定时间,执行该netstat命令 |
netstat -anp |grep portNumber 查看占用某个端口的进程
复制代码
ps命令用于报告当前系统的进程状态。能够搭配kill指令随时中断、删除没必要要的程序。很是强大的进程查看命令,使用该命令能够肯定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是能够经过执行该命令获得的ssh
ps -ef |grep ssh
复制代码
常见参数tcp
-a:当处理当前进程时,不限制命令名和进程号的对应关系;
-l <信息编号>:若不加<信息编号>选项,则-l参数会列出所有的信息名称;
-p:指定kill 命令只打印相关进程的进程号,而不发送任何信号;
-s <信息名称或编号>:指定要送出的信息;
-u:指定用户。
复制代码
kill -l 列出全部信号名称,只有第9种信号(SIGKILL)才能够无条件终止进程
kill -9 pid 完全杀死指定进程,init进程不可杀死,其它全部进程都是init进程的子孙
复制代码