Linux lsof命令的使用示例

Linux命令中,lsof代表 Li St Open Files,用于查看所有被打开的文件,同时显示打开文件相对应的进程。
Linux/Unix把一切都看做文件(pipes,sockets,directories,devices etc),使用这个命令,可以轻易查看文件被进程占用情况。

1、列出所有打开文件

lsof

输出:

COMMAND    PID      USER   FD      TYPE     DEVICE  SIZE/OFF       NODE NAME
init         1      root  cwd      DIR      253,0      4096          2 /
init         1      root   3r     FIFO        0,8       0t0       8449 pipe
init         1      root   5r      DIR       0,10         0          1 inotify
init         1      root   7u     unix 0xc1513880       0t0       8450 socket

完整列表会很长,每一行列出了相应的值,下面重点看下 FD & TYPE的值。

FD -文件描述 (File descriptor),可能的值:

  • cwd current working directory
  • rtd root directory
  • txt program text (code and data)
  • mem memory-mapped file

同样在FD列中,数字1u是实际的文件描述符,后跟u、r、w,其模式如下:

  • r for read access.

  • w for write access.

  • u for read and write access.

TYPE – 文件识别类型(identification)

  • DIR – Directory
  • REG – Regular file
  • CHR – Character special file.

  • FIFO – First In First Out

2、列出指定用户打开文件

lsof -u root

3、列出指定端口

lsof -i TCP:22
lsof -i:22
lsof -i TCP:1-1024 #端口号为一范围

4、列出 IPv4 & IPv6 网络打开文件

lsof -i 4/6

5、列出非某个用户打开文件(^)

lsof -i -u^root

6、列出所有网络连接,监听与已建立

lsof -i # i是 IPv[46]的首字母

7、列出指定PID

lsof -p 1

8、杀死某个用户的所有进程

kill -9 lsof -t -u tecmint

Original: https://www.cnblogs.com/jiaoran/p/14527625.html
Author: 皎然CEO
Title: Linux lsof命令的使用示例

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/606704/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • ArchLinux安装-2022-01-12

    这篇教程,是我基于B站up住theCW的视频教程整理的,其中添加了一些我在安装n次之后的经验(虽然失败过几次,但我现在安装不会再出差错,所以请放心的看此教程) 当然,我认为theC…

    Linux 2023年6月13日
    0115
  • 什么是草台班子?

    有个朋友最近想跳槽,他对管理的兴趣不大,而且认为自己的性格也不适合做管理,更想成为技术专家。基于这些考虑,他希望能进入知名大厂,如果面试不顺利,去小而美公司也行。他的面试经验不多,…

    Linux 2023年6月6日
    0122
  • 记一次 android 线上 oom 问题

    背景 公司的主打产品是一款跨平台的 App,我的部门负责为它提供底层的 sdk 用于数据传输,我负责的是 Adnroid 端的 sdk 开发。 sdk 并不直接加载在 App 主进…

    Linux 2023年6月6日
    0122
  • 在Linux下安装Redis

    1. 下载Redis的压缩包 [root@spirit-of-fire ~]# wget http://download.redis.io/releases/redis-5.0.5…

    Linux 2023年6月14日
    0113
  • 操作系统实现-简单热身

    博客网址:www.shicoder.top微信:18223081347欢迎加群聊天 :452380935 这次对上次的boot.asm进行代码讲解,也可以对汇编的相关理论进行补充 …

    Linux 2023年6月13日
    0107
  • 在RestController中获取各种信息的方法

    内容 获取方法 URL中路径的一部分 首先需要在RequestMapping做映射, 之后在方法中可以通过注解使用映射的变量@GetMapping(“/{id}&#82…

    Linux 2023年6月14日
    0135
  • java调用python的惨痛史(无法获取环境变量)

    环境:java,was,python2.6,红帽linux,oracle,python用cx_Oracle事情是这样的,有个需求,需要对数据库进行处理,简单说就是把数据取出来,用p…

    Linux 2023年6月6日
    0102
  • OpenStack glance对接swift

    配置 切换环境变量 [root@controller ~]# source keystonerc_admin 复制glance配置文件备份 [root@controller ~(k…

    Linux 2023年6月8日
    0105
  • Kubernetes-DashBoard部署

    DashBoard 在kubernetes中完成的所有操作都是通过命令行工具kubectl完成的。其实,为了提供更丰富的用户体验,kubernetes还开发了一个基于web的用户界…

    Linux 2023年6月13日
    0109
  • JavaScript闭包

    <!doctype html> <html lang="en"> <head> <title>&#x95…

    Linux 2023年6月13日
    0100
  • linux 上进程被随机kill掉,如何监测和查询;谁杀了我的进程;Who sends a SIGKILL to my process mysteriously on ubuntu server

    今天跑实验,发现进程被随机kill。咨询了服务器上的其他同学,他们说之前也发生过,一直存在。看来可能有可能不是我自己程序的原因,只能自己动手解决了。 在 Who sends a S…

    Linux 2023年6月14日
    0125
  • .NET面试经典三问:什么是.NET?什么是.NET Framework?什么是.NET Core?

    什么是.NET?什么是.NET Framework? 本文将从上往下,循序渐进的介绍一系列相关.NET的概念,先从类型系统开始讲起,我将通过跨语言操作这个例子来逐渐引入一系列.NE…

    Linux 2023年6月13日
    0100
  • POJ1222、POJ3279、POJ1753–Flip

    为什么将着三个题放一起讲呢?因为只要搞明白了其中一点,就可以一次3ac了~~ 首先讲下每个题目的意思 1.EXTENDED LIGHTS OUT 给你5行6列的01矩阵,0代表该点…

    Linux 2023年6月7日
    0124
  • Linux 0.11源码阅读笔记-文件IO流程

    文件IO流程 用户进程read、write在高速缓冲块上读写数据,高速缓冲块和块设备交换数据。 何时将磁盘块数据读取到缓冲块? [En] when will the disk bl…

    Linux 2023年5月27日
    0105
  • 通过PowerShell实现SharePoint列表增删改

    通过 powershell 脚本实现 SharePoint 2010 列表项添加删除修改的例子。 接下来是获取列表: 当我们获取到列表后,就可以进一步获取列表项了。最直接的办法是调…

    Linux 2023年5月28日
    0100
  • Redis的slot迁移工具

    工具下载: https://github.com/eyjian/redis-tools/blob/master/move_redis_slot.sh 支持迁移已有的keys。 #!…

    Linux 2023年5月28日
    0117
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球