fuser:藉由文件(或文件系统)找出正在使用该文件的程序

[root@www ~]# fuser [-umv] [-k [i] [-signal]] file/dir
选项与参数:
-u  :除了进程的 PID 之外,同时列出该进程的拥有者;
-m  :后面接的那个档名会主动的上提到该文件系统的最顶层,对 umount 不成功很有效!
-v  :可以列出每个文件与进程还有命令的完整相关性!
-k  :找出使用该文件/目录的 PID ,并试图以 SIGKILL 这个讯号给予该 PID;
-i  :必须与 -k 配合,在删除 PID 之前会先询问使用者意愿!
-signal:例如 -1 -15 等等,若不加的话,默认是 SIGKILL (-9) 罗!范例一:找出目前所在目录的使用 PID/所属帐号/权限 为何?
[root@www ~]# fuser -uv .USER        PID ACCESS COMMAND
.:                   root      20639 ..c.. (root)bash

项目代表的意义为:

c :此进程在当前的目录下(非次目录);
    e :可被触发为运行状态;
    f :是一个被开启的文件;
    r :代表顶层目录 (root directory);
    F :该文件被开启了,不过在等待回应中;
    m :可能为分享的动态函式库;

范例二:找到所有使用到 /proc 这个文件系统的进程吧!
[root@www ~]# fuser -uv /proc
# 不会显示任何数据,因为没有任何进程会去使用 /proc 这个目录啊!
# 会被用到的是 /proc 底下的文件啦!所以你应该要这样做:[root@www ~]# fuser -mvu /procUSER        PID ACCESS COMMAND
/proc:               root       4289 f.... (root)klogdroot       4555 f.... (root)acpidhaldaemon  4758 f.... (haldaemon)haldroot       4977 F.... (root)Xorg
# 有这几支进程在进行 /proc 文件系统的存取喔!这样清楚了吗?
范例三:找到 /var 底下属於 FIFO 类型的文件,并且找出存取该文件的进程
[root@www ~]# find /var -type p
/var/gdm/.gdmfifo     <==我们针对这玩意即可!
/var/run/autofs.fifo-misc
/var/run/autofs.fifo-net[root@www ~]# fuser -uv /var/gdm/.gdmfifoUSER        PID ACCESS COMMAND
/var/gdm/.gdmfifo:   root       4892 F.... (root)gdm-binary范例四:同范例三,但试图删除该 PID?且『不要』删除喔!
[root@www ~]# fuser -ki /var/gdm/.gdmfifo
/var/gdm/.gdmfifo:    4892
Kill process 4892 ? (y/N) n

lsof :列出被程序所开启的文件档名

[root@www ~]# lsof [-aUu] [+d]
选项与参数:
-a  :多项数据需要『同时成立』才显示出结果时!
-U  :仅列出 Unix like 系统的 socket 文件类型;
-u  :后面接 username,列出该使用者相关进程所开启的文件;
+d  :后面接目录,亦即找出某个目录底下已经被开启的文件!范例一:列出目前系统上面所有已经被开启的文件与装置:
[root@www ~]# lsof
COMMAND PID  USER   FD  TYPE  DEVICE   SIZE     NODE NAME
init      1  root  cwd   DIR     3,2   4096        2 /
init      1  root  rtd   DIR     3,2   4096        2 /
init      1  root  txt   REG     3,2  38620  1426405 /sbin/init
....(底下省略)....
# 注意到了吗?是的,在默认的情况下, lsof 会将目前系统上面已经开启的
# 文件全部列出来~所以,画面多的吓人啊!您可以注意到,第一个文件 init 运行的
# 地方就在根目录,而根目录,嘿嘿!所在的 inode 也有显示出来喔!范例二:仅列出关於 root 的所有程序开启的 socket 文件
[root@www ~]# lsof -u root -a -U
COMMAND     PID USER   FD   TYPE     DEVICE SIZE   NODE NAME
udevd       400 root    3u  unix 0xedd4cd40        1445 socket
auditd     4256 root    7u  unix 0xedd4c380        9081 socket
audispd    4258 root    0u  unix 0xedd4c1e0        9080 socket
# 注意到那个 -a 吧!如果你分别输入 lsof -u root 及 lsof -U ,会有啥资讯?
# 使用 lsof -u root -U 及 lsof -u root -a -U ,呵呵!都不同啦!
# -a 的用途就是在解决同时需要两个项目都成立时啊! ^_^范例三:请列出目前系统上面所有的被启动的周边装置
[root@www ~]# lsof +d /dev
COMMAND     PID      USER   FD   TYPE     DEVICE SIZE  NODE NAME
init          1      root   10u  FIFO       0,16       1147 /dev/initctl
udevd       400      root    0u   CHR        1,3       1420 /dev/null
udevd       400      root    1u   CHR        1,3       1420 /dev/null
udevd       400      root    2u   CHR        1,3       1420 /dev/null
# 看吧!因为装置都在 /dev 里面嘛!所以罗,使用搜寻目录即可啊!范例四:秀出属於 root 的 bash 这支程序所开启的文件
[root@www ~]# lsof -u root | grep bash
bash   20639 root  cwd    DIR    3,2    4096    648321 /root
bash   20639 root  rtd    DIR    3,2    4096         2 /
bash   20639 root  txt    REG    3,2  735004   1199424 /bin/bash
bash   20639 root  mem    REG    3,2   46680     64873 /lib/libnss_files-2.5.so
....(底下省略)....

pidof :找出某支正在运行的程序的 PID

[root@www ~]# pidof [-sx] program_name
选项与参数:
-s  :仅列出一个 PID 而不列出所有的 PID
-x  :同时列出该 program name 可能的 PPID 那个进程的 PID范例一:列出目前系统上面 init 以及 syslogd 这两个程序的 PID
[root@www ~]# pidof init syslogd
1 4286
# 理论上,应该会有两个 PID 才对。上面的显示也是出现了两个 PID 喔。
# 分别是 init 及 syslogd 这两支进程的 PID 啦。

Linux查询已开启文件或已运行进程开启之文件fuser,lsof,pidof相关推荐

  1. 查看文件(或文件夹)被哪个进程使用【文件已在另一程序中打开】

    轻松查看文件被哪个进程使用  有时候小伙伴们正在或刚使用过的文件夹或者某个文件,想要把它移动到其它的位置,或者删除它,又或者仅仅想重命名这个文件,但是在操作过程中,我们发现它弹出来了文件夹或者文件正在 ...

  2. python执行bat文件_python自动运行cmd,bat文件

    展开全部 python编码2113启动cmd批处理文件(.bat文件),用subprocess方法可以将相应5261的cmd输出获取到,代码如下:4102#import os#os.system (& ...

  3. python文件行数运行结果_python统计文件行数

    '(或者包含'\n'的字串,如在windows系统中): count = 0thefile = open(thefilepath, 'rb')while True:buffer = thefile.r ...

  4. 如何看exe文件源代码_杀进程、删文件...看新型勒索软件RobbinHood如何干掉杀毒软件...

    网络安全公司Sophos于近日发文称,该公司旗下研究安全团队日前发现了一种此前从未被公开披露过的勒索软件,并将其命名为"RobbinHood". 文章指出,这种新型勒索软件不仅能够 ...

  5. python 文件操作不被打断_python学习六文件操作和异常处理

    1.文件的定义和类型 什么是文件呢? 文件是数据的抽象和集合 文件是存储在辅助存储器上的数据序列 文件是存储的一种 文件有哪些类型呢? 本质上所有文件以二进制储存,不过又可以分为文本文件和二进制文件 ...

  6. 怎样关闭2345迷你新闻弹窗和更隐蔽的迷你新闻弹窗呢,找到进程删除相应文件,终于解决了,记录一下屏蔽后的喜悦

    精彩集锦之举一反三培养SKILL:自己总结的核心思路就是--"任何弹窗文件都是程序,只要它弹出来了说明它在工作,它在工作说明它就有进程,任何的正规程序,都可以在任务管理器上找到相应的进程,而 ...

  7. 文件描述符(多进程对同一个文件操作)

    进程文件描述符:filedescrption,实际上我们调用open打开文件后得到的一个句柄,是个整数.属于用户区用来记录文件的一些信息,如文件指针,指向系统文件描述符表的指针,保存在进程的PCB中. ...

  8. photorec_如何在Linux / Ubuntu中使用PhotoRec恢复已删除的文件

    photorec Accidentally deleted files or photos? In this tutorial, we'll learn how to recover deleted ...

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

    fuser 使用文件或者套节字来表示识别进程,常用两个功能: 1. 查看需要的进程 2. 杀死查到的进程 [root@localhost ~]# fuser -vm /usr/local/ -bash ...

最新文章

  1. VS各种错误集成总结,持续更新
  2. linux pwm 调屏_基于嵌入式Linux的LCD背光调节及驱动的实现
  3. AS插件-android-selector-chapek
  4. DeepMind论文解读:让机器更深入地理解文本
  5. 如何覆盖上一次commit_第一次漂冰雪就上难度 “小白”如何在冰雪中漂明白中置后驱...
  6. redis 连接池_SpringBoot整合redis
  7. PWA(Progressive Web App)入门系列:(四)Promise
  8. mysql note级别_Mysql5.7 的错误日志中最常见的note级别日志解释
  9. 语言程序设计赵山林电子版_【特别策划】崇州“老市长”赵抃系列之一:做官要像江水保持清白...
  10. 单片机与普通微型计算机的不同之处是什么,单片机与普通微型计算机的不同之处...
  11. Cannot resolve plugin org.apache.maven.plugins:xxxx
  12. 23 岁那年你正处在哪个状态?现在呢?
  13. 【App设计】互联网+商业计划书
  14. 哪里可以免费下SketchUp草图插件?
  15. Git error: unable to create file xxx: Filename too long
  16. 如何缓解眼睛疲劳酸痛?
  17. 【JAVA】金额工具类 金额千分位、中文大写金额、英文金额
  18. HTML网上书店静态HTML网页作业作品 大学生三联书店网页设计制作成品 简单DIV CSS布局网站...
  19. 公链,多少资金盘假汝之名以行?
  20. IoU(Intersection over Union)

热门文章

  1. c#类属性和实例属性_实例|EPS输出的CASS数据,房屋属性错误怎么解决? 111
  2. 工控机防勒索病毒浅析
  3. 胶类及胶性色素渍的去除方法
  4. adc转换时钟_24小时时钟转换器:如何将AM / PM转换为24小时时间
  5. Excel表格公式如何快速向右填充
  6. 研发组织中的“长尾类”问题如何看待和消除?
  7. 例题4-6 师兄帮帮忙 UVa12412
  8. vue实现聊天+图片表情功能
  9. 英雄联盟祖安服务器要维护多久,英雄联盟道歉IG
  10. 建行天地融网盾,交易时出现签名失败