centos8平台使用lsof
一,lsof的用途
lsof,List Open Files 列出当前系统打开文件的工具。
在linux环境下,任何事物都以文件的形式存在,
所以lsof通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件
说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest
对应的源码可以访问这里获取: https://github.com/liuhongdi/
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,lsof安装:
1,查看lsof所属的包
[root@blog ~]# whereis lsof
lsof: /usr/bin/lsof /usr/share/man/man1/lsof.1.gz [root@blog ~]# rpm -qf /usr/bin/lsof
lsof-4.91-2.el8.x86_64
2,如果提示找不到lsof命令,可以用yum安装
[root@blog ~]# yum install lsof
三,查看lsof的版本和帮助
1,查看版本
[root@blog ~]# lsof -v
lsof version information:
revision: 4.91
...
2,查看帮助:
[root@blog ~]# lsof -h
四,lsof的应用例子:
1,查看系统中所有打开的文件
[root@blog ~]# lsof
2,查看某个用户打开的文件
# -u 参数用来指定要查看的用户
[root@blog ~]# lsof -u mysql
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld_sa 17246 mysql cwd DIR 253,1 129 201372497 /usr/local/soft/mysql
mysqld_sa 17246 mysql rtd DIR 253,1 272 128 /
mysqld_sa 17246 mysql txt REG 253,1 1219216 16999680 /usr/bin/bash
...
3,查看有哪些进程正在打开某个文件?
[root@blog ~]# lsof /data/mysql/log/mysql-slow.log
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 17700 mysql 29w REG 253,1 11018 34357947 /data/mysql/log/mysql-slow.log
说明:lsof后加文件名即可列出正在打开文件的进程
4,列出某个进程正在打开的文件(最常用的用法)
# -p 指定要查看的进程
[root@blog ~]# lsof -p 17700
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 17700 mysql cwd DIR 253,1 4096 302055050 /data/mysql/data
mysqld 17700 mysql rtd DIR 253,1 272 128 /
mysqld 17700 mysql txt REG 253,1 1078700088 218133053 /usr/local/soft/mysql/bin/mysqld
mysqld 17700 mysql DEL REG 0,17 3207767 /[aio]
mysqld 17700 mysql DEL REG 0,17 3207766 /[aio]
mysqld 17700 mysql DEL REG 0,17 3207765 /[aio]
mysqld 17700 mysql DEL REG 0,17 3207764 /[aio]
...
说明:
输出字段的说明:
FD 表示文件描述符号:
如果值是3w,表示:它的文件描述符是 3 号,而 3 后面的 w ,表示以写的方式打开
TYPE 表示文件类型
NAME 表示文件路径
5,列出多个进程正在打开的文件(最常用的用法)
[root@blog ~]# lsof -p 7492,7493,7494
6,列出所有的网络连接
# -i 用来查看网络连接的进程
[root@blog ~]# lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
NetworkMa 834 root 18u IPv4 21344 0t0 UDP blog:bootpc
nginx 7491 root 22u IPv4 3087363 0t0 TCP *:http (LISTEN)
nginx 7491 root 23u IPv4 3087364 0t0 TCP *:54321 (LISTEN)
nginx 7492 nginx 22u IPv4 3087363 0t0 TCP *:http (LISTEN)
7,指定的连接的类型:
列出所有tcp 网络连接信息
[root@blog ~]# lsof -i tcp
列出所有udp 网络连接信息
[root@blog ~]# lsof -i udp
8,列出在使用某个端口的进程
# -i :port用来指定要查看的端口
[root@blog ~]# lsof -i :3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 17700 mysql 31u IPv6 3206926 0t0 TCP *:mysql (LISTEN)
9,列出nginx进程现在打开的文件
# -c 指定要查看的进程的名字
[root@blog ~]# lsof -c nginx
10,-n参数:不将IP转换为hostname,默认会进行转换,即默认不加上-n参数,
[root@blog ~]# lsof -n -i :3306
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mysqld 17700 mysql 31u IPv6 3206926 0t0 TCP *:mysql (LISTEN)
11,列出所有使用fd为指定值的进程
# -d:指定文件描述符的值
[root@blog ~]# lsof -d 1
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root 1u CHR 1,3 0t0 11236 /dev/null
systemd-j 513 root 1w CHR 1,3 0t0 11236 /dev/null
五,查看centos的版本:
[root@blog ~]# cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)
centos8平台使用lsof的更多相关文章
- centos8平台:举例讲解redis6的ACL功能(redis6.0.1)
一,为什么redis6要增加acl功能模块? 什么是acl? 访问控制列表(ACL)是一种基于包过滤的访问控制技术, 它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃 redis6增加了 ...
- centos8平台用ffprobe获取视频文件信息(ffmpeg4.2.2)
一,ffprobe的作用 ffprobe是强大的视频分析工具, 用于从多媒体流中获取相关信息或查看文件格式信息, 并以可读的方式打印 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https:// ...
- centos8平台使用wkhtmltopdf实现html网页转pdf
一,wkhtmltopdf的用途 wkhtmltopdf可以直接把任何一个可以在浏览器中浏览的网页直接转换成一个pdf 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnb ...
- centos8平台安装gitosis服务
一,git服务器端:准备gitosis需要的各依赖软件 1,确认openssh是否存在?如不存在,以下列命令进行安装 [root@yjweb ~]# yum install openssh opens ...
- centos8平台:用fontconfig安装及管理字体(fc-list/fc-match/fc-cache)
一,fc-list所属的rpm包 [root@blog ~]$ whereis fc-list fc-list: /usr/bin/fc-list /usr/share/man/man1/fc-lis ...
- centos8平台:redis6配置启用io多线程(redis6.0.1)
一,linux平台上redis6的安装 请参见这一篇: https://www.cnblogs.com/architectforest/p/12830056.html 说明:刘宏缔的架构森林是一个专注 ...
- centos8平台安装redis6.0.1
一,redis的官网: https://redis.io/ redis6于5月3日正式发布,它的新增功能: acl 多线程io cluster proxy resp3协议 本文演示redis6.0.1 ...
- centos8平台使用iotop监控磁盘io
一,iotop的作用: iotop是监视磁盘I/O使用状况的top类工具, 可以针对进程和线程统计io的使用情况 说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblog ...
- centos8平台yum无法安装一些常用软件的解决,如:screen,iftop,nethogs
一,例如:安装screen时报错: [root@localhost liuhongdi]# yum install screen 上次元数据过期检查:17:39:58 前,执行于 2020年03月18 ...
随机推荐
- [Leetcode]148. 排序链表(归并排序)
题目 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序. 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: ...
- 定时任务与feign超时的纠葛,该咋优化?
1 背景 业务定时器应用半夜经常会触发熔断异常的告警邮件 根据邮件提示的类找到归纳以下表格 编号 报错方法 接口所属应用 所属定时任务类 A VipTradeReportFeignService#ge ...
- Linux 命令: sed
sed -- sed 命令对于Linux系统来说,在命令行修改,操作文本是非常的方便. 特别是批量的修改某些字符等,是非常省时省力的,非常适合在自动化的脚本中去应用. 如下的几个小例子: 1)如何删除 ...
- 关于KeePass实现mstsc远程桌面(rdp协议)的自动登录
本文的Keepass版本:KeePass Password Safe Version 2.45 首先介绍一下Keepass,引用官网的解释如下: KeePass is a free open sour ...
- 原子类的 ABA 问题
原子引用 public class AtomicReferenceDemo { public static void main(String[] args) { User cuzz = new Use ...
- 【MySQL】面试官:如何添加新数据库到MySQL主从复制环境?
写在前面 今天,一名读者反馈说:自己出去面试,被面试官一顿虐啊!为什么呢?因为这名读者面试的是某大厂的研发工程师,偏技术型的.所以,在面试过程中,面试官比较偏向于问技术型的问题.不过,技术终归还是要服 ...
- Git源代码管理笔记
很早之前也学过git但是没有详细的记录,这次是做个复习,巩固 若有不对的地方请您指出 目录 Git和SVN有什么区别? 什么是Git? github仓库 Star和Fork Pull request ...
- Actor:人生如戏全靠演技--“三维度”逻辑编程语言的设计(3)
在上一篇介绍了逻辑编程的作用,介绍了逻辑编程中的一些概念,包括逻辑程序的结构:事实.规则和问题:知识的表达方式:谓词演算.产生式规则,以及这些概念与三维度(角色+场景+时间)理论的契合关系,正式提出了 ...
- 再解决不了前端加密我就吃shi
参考文章 快速定位前端加密方法 渗透测试-前端加密测试 前言 最近学习挖洞以来,碰到数据做了加密基本上也就放弃了.但是发现越来越多的网站都开始做前端加密了,不论是金融行业还是其他.所以趁此机会来捣鼓一 ...
- Layman ThinkPHP 中 where条件 or,and 同时使用
Eg:('a'=1 and 'b'=2) or ('c'=3 and 'd'=4) and 'e'=5 解决方法 $condition1['a'] = 1; $condition1['b'] = 2; ...