查询已打开文件或已执行程序打开的文件

阅读数:103 评论数:0

跳转到新版页面

分类

Linux

正文

一、fuser

  通过文件(或文件系统)找出正在使用该文件的程序

1、基本用法

fuser [-umv] [-k [i] [-signal] ] file/dir
-u:在进程号旁边显示其拥有者的用户名。
-m:显示指定挂载点的所有进程。
-v:详细模式,显示被访问文件的详细信息。
-k:杀死访问指定文件的所有进程。
-i:必须与-k配合,在删除 PID之前先询问用户
-n:后面跟随 space, file, udp, 或 tcp 等,用于指定要检查的名称空间
-4:只查看 IPv4 套接字。
-6:只查看 IPv6 套接字。

2、查看某个端口被哪些进程使用:

fuser -n tcp [端口号]

3、查看某个目录及其子目录下所有文件被哪些进程使用:

fuser -vm [目录路径]

4、示例

(1)查看并杀死使用 /var/lib/dpkg/lock 文件的进程:

fuser -vki /var/lib/dpkg/lock

(2)查看使用某个挂载点 /mnt/mydisk 的所有进程:

fuser -vm /mnt/mydisk

二、lsof

  列出被进程所打开的文件名

在 Linux 中,lsof 命令是 "list open files" 的缩写,这是一个非常强大的命令行工具,用于列出系统上当前打开的文件。由于在 Unix 和 Linux 中,几乎一切都是文件(包括硬件设备、目录、套接字等),lsof 提供了一种查看哪个进程打开了哪个文件的方法。

1、基本用法

(1)列出所有打开的文件:

lsof

(2)列出特定进程打开的文件:

lsof -p [进程号]

(3)列出特定用户打开的文件:

lsof -u [用户名]

(4)列出所有打开的网络连接:

lsof -i

(5)列出所有 TCP 或 UDP 端口的网络连接:

lsof -i tcp
lsof -i udp

(6)列出监听某个特定端口的进程:

lsof -i :[端口号]

(7)列出某个目录下被打开的文件:

lsof +D [目录路径]

(8)列出某个文件被哪些进程打开:

lsof [文件路径]

2、选项和参数

lsof 提供了许多选项和参数来过滤和显示结果:

  • -t:仅输出进程标识(PID),常用于管道传递给其他命令。
  • -u:后面跟用户名,用于列出该用户打开的文件。
  • -c:后面跟进程名的前几个字符,用于列出匹配名称的进程打开的文件。
  • -a:多条件查询时,用于逻辑与操作。
  • -d:后面跟文件描述符,用于列出使用该文件描述符的进程。
  • -n:不将 IP 地址转换为主机名,加快命令执行速度。
  • -P:不将端口号转换为端口名。

三、pidof

在 Linux 中,pidof 命令是用来查询一个或多个正在运行的程序的进程ID(PID)的。它通常用于脚本中,以便自动获取某个特定程序的 PID。

1、基本用法

pidof [-sx] program_name
-s:如果有多个进程实例在运行,只返回一个 PID。
-x:同时列出该program name可能PPID的那个进程PID
-o: 排除特定的 PID,常用于排除脚本自身的 PID。

2、示例

(1)获取除了当前脚本之外的 bash 进程的 PID

pidof -o $$ bash



相关推荐

一、概述 lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。 二、语

一、概述 1、为什么Linus不使用GPLv3 在 PC 上,只要你得到了某个程序的源代码,就可以自行编译生成二进制程序,然后替换掉原有的二进制程序,你的程序自由很容易得到保证。然而 iPod、iPh

说明:这种方式只是用于方便阅读代码,因为可以在源代间快速索引跳跃。但是最后可能会有一些warning,可以不必关心,如果是强迫症,可以使用下面这种方式来去掉。

一、概述 在Linux系统中,/usr/bin和/usr/local/bin是两个常见的目录,用于存放可执行文件(二进制文件)。 很多应用都安装在/usr/local下面,先看一下automake工具

  一、概述 vmstat命令是最常见的Linux/Unix监控工具,可以监控给定时间间隔服务器的CPU使用率、内存使用、IO情况。相比top命令,可以查看到整个机器的CPU、内存、IO的使用情况,而

一、概述 sar,System Activity Reporter。是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁

一、简介 简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 二、使用方法 1、基本语法  awk '条件类型1 {动作1} 条件类型2{动作2} ...

一、概述 列出目标目录中所有的子目录和文件。 二、 语法 ls [选项] [目录名] -a, –all 列出目录下的所有文件,包括以 . 开头的隐含文件 -A 同-a,但不列出“.”(表示当前目录)

一、概述 cd全称是change directory,用于切换当前工作目录。 注意的是,cd命令是一个内建命令,它是由 shell 提供的。因此,不同的 shell 可能会有一些差异,但基本的用法和功

一、概述 全称为print working directory,查看”当前工作目录“的完整路径,一般情况下不带任何参数 二、语法 pwd [选项] -L 即logical,逻辑路径 -P 即