Linux查询已开启文件或已运行进程开启之文件fuser,lsof,pidof
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相关推荐
- 查看文件(或文件夹)被哪个进程使用【文件已在另一程序中打开】
轻松查看文件被哪个进程使用 有时候小伙伴们正在或刚使用过的文件夹或者某个文件,想要把它移动到其它的位置,或者删除它,又或者仅仅想重命名这个文件,但是在操作过程中,我们发现它弹出来了文件夹或者文件正在 ...
- python执行bat文件_python自动运行cmd,bat文件
展开全部 python编码2113启动cmd批处理文件(.bat文件),用subprocess方法可以将相应5261的cmd输出获取到,代码如下:4102#import os#os.system (& ...
- python文件行数运行结果_python统计文件行数
'(或者包含'\n'的字串,如在windows系统中): count = 0thefile = open(thefilepath, 'rb')while True:buffer = thefile.r ...
- 如何看exe文件源代码_杀进程、删文件...看新型勒索软件RobbinHood如何干掉杀毒软件...
网络安全公司Sophos于近日发文称,该公司旗下研究安全团队日前发现了一种此前从未被公开披露过的勒索软件,并将其命名为"RobbinHood". 文章指出,这种新型勒索软件不仅能够 ...
- python 文件操作不被打断_python学习六文件操作和异常处理
1.文件的定义和类型 什么是文件呢? 文件是数据的抽象和集合 文件是存储在辅助存储器上的数据序列 文件是存储的一种 文件有哪些类型呢? 本质上所有文件以二进制储存,不过又可以分为文本文件和二进制文件 ...
- 怎样关闭2345迷你新闻弹窗和更隐蔽的迷你新闻弹窗呢,找到进程删除相应文件,终于解决了,记录一下屏蔽后的喜悦
精彩集锦之举一反三培养SKILL:自己总结的核心思路就是--"任何弹窗文件都是程序,只要它弹出来了说明它在工作,它在工作说明它就有进程,任何的正规程序,都可以在任务管理器上找到相应的进程,而 ...
- 文件描述符(多进程对同一个文件操作)
进程文件描述符:filedescrption,实际上我们调用open打开文件后得到的一个句柄,是个整数.属于用户区用来记录文件的一些信息,如文件指针,指向系统文件描述符表的指针,保存在进程的PCB中. ...
- photorec_如何在Linux / Ubuntu中使用PhotoRec恢复已删除的文件
photorec Accidentally deleted files or photos? In this tutorial, we'll learn how to recover deleted ...
- fuser查询已打开文件或已执行程序打开的文件
fuser 使用文件或者套节字来表示识别进程,常用两个功能: 1. 查看需要的进程 2. 杀死查到的进程 [root@localhost ~]# fuser -vm /usr/local/ -bash ...
最新文章
- VS各种错误集成总结,持续更新
- linux pwm 调屏_基于嵌入式Linux的LCD背光调节及驱动的实现
- AS插件-android-selector-chapek
- DeepMind论文解读:让机器更深入地理解文本
- 如何覆盖上一次commit_第一次漂冰雪就上难度 “小白”如何在冰雪中漂明白中置后驱...
- redis 连接池_SpringBoot整合redis
- PWA(Progressive Web App)入门系列:(四)Promise
- mysql note级别_Mysql5.7 的错误日志中最常见的note级别日志解释
- 语言程序设计赵山林电子版_【特别策划】崇州“老市长”赵抃系列之一:做官要像江水保持清白...
- 单片机与普通微型计算机的不同之处是什么,单片机与普通微型计算机的不同之处...
- Cannot resolve plugin org.apache.maven.plugins:xxxx
- 23 岁那年你正处在哪个状态?现在呢?
- 【App设计】互联网+商业计划书
- 哪里可以免费下SketchUp草图插件?
- Git error: unable to create file xxx: Filename too long
- 如何缓解眼睛疲劳酸痛?
- 【JAVA】金额工具类 金额千分位、中文大写金额、英文金额
- HTML网上书店静态HTML网页作业作品 大学生三联书店网页设计制作成品 简单DIV CSS布局网站...
- 公链,多少资金盘假汝之名以行?
- IoU(Intersection over Union)