`

fuser命令详解(原创)

 
阅读更多

fuser功能
fuser 可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口,并给出程序进程的详细信息. 
fuser显示使用指定文件或者文件系统的进程ID.默认情况下每个文件名后面跟一个字母表示访问类型。 
访问类型如下: 
c 代表当前目录 
e 将此文件作为程序的可执行对象使用
f 打开的文件。默认不显示。 
F 打开的文件,用于写操作。默认不显示。 
r 根目录。 
m 映射文件或者共享库。 

s 将此文件作为共享库(或其他可装载对象)使用
当指定的文件没有被访问,或者出现错误的时候,fuser会返回非零。 
为了查看使用tcp和udp套接字的进程,需要-n选项并指定名称空间。默认IpV4和IpV6都会显示。套接字可以是本地的或者是远程的端口,和远程的地址。所有的域是可选的,但是其前面的','必须存在。如下: 
[lcl_port][,[rmt_host][,[rmt_port]]] 
对于ip地址和port,名称和数字表示都可以使用。 
fuser只把PID输出到标准输出,其他的都输出到标准错误输出。 
常用选项
-a 显示所有命令行中指定的文件,默认情况下被访问的文件才会被显示。 
-c 和-m一样,用于POSIX兼容。 
-k 杀掉访问文件的进程。如果没有指定-signal就会发送SIGKILL信号。 
-i 杀掉进程之前询问用户,如果没有-k这个选项会被忽略。 
-l 列出所有已知的信号名称。 
-m name 指定一个挂载文件系统上的文件或者被挂载的块设备(名称name)。这样所有访问这个文件或者文件系统的进程都会被列出来。如果指定的是一个目录会自动转换成"name/",并使用所有挂载在那个目录下面的文件系统。 
-n space 指定一个不同的命名空间(space).这里支持不同的空间文件(文件名,此处默认)、tcp(本地tcp端口)、udp(本地udp端口)。对于端口, 可以指定端口号或者名称,如果不会引起歧义那么可以使用简单表示的形式,例如:name/space (即形如:80/tcp之类的表示)。 
-s 静默模式,这时候-u,-v会被忽略。-a不能和-s一起使用。 
-signal 使用指定的信号,而不是用SIGKILL来杀掉进程。可以通过名称或者号码来表示信号(例如-HUP,-1),这个选项要和-k一起使用,否则会被忽略。 
-u 在每个PID后面添加进程拥有者的用户名称。 
-v 详细模式。输出似ps命令的输出,包含PID,USER,COMMAND等许多域,如果是内核访问的那么PID为kernel.  -V 输出版本号。 
-4 使用IPV4套接字,不能和-6一起应用,只在-n的tcp和udp的命名存在时不被忽略。 
-6 使用IPV6套接字,不能和-4一起应用,只在-n的tcp和udp的命名存在时不被忽略。 
- 重置所有的选项,把信号设置为SIGKILL. 
使用示例

显示使用某个文件的进程信息
$ fuser -um /dev/sda2 
/dev/sda2:            6378c(quietheart)  6534c(quietheart)  6628(quietheart) 
6653c(quietheart)  7429c(quietheart)  7549c(quietheart)  7608c(quietheart) 

这个命令在umount的时候很有用,可以找到还有哪些用到这个设备了。 
杀掉打开readme文件的程序

$fuser -m -k -i readme 
这里,会在kill之前询问是否确定。最好加上-v以便知道将要杀那个进程。 
查看那些程序使用tcp的80端口
$fuser -v -n tcp 80 

$fuser -v 80/tcp 
fuser不同信号的应用
用 -l参数可以列出fuser所知的信号
# fuser -l
HUP INT QUIT ILL TRAP ABRT IOT BUS FPE KILL USR1 SEGV USR2 PIPE ALRM TERM
STKFLT CHLD CONT STOP TSTP TTIN TTOU URG XCPU XFSZ VTALRM PROF WINCH IO PWR SYS
UNUSED
fuser可以发送它已知的信号给访问的指定文件进程而代替-k参数默认发送的SIGKILL,例如:只是挂起进程,那么发送HUP信号就可以了
# fuser -v /root/install.log
                      用户     进程号 权限   命令
 /root/install.log:   root       3347 f.... tail
 # fuser -k -SIGHUP /root/install.log
 /root/install.log:    3347
# fuser -v /root/install.log

参考至:http://hi.baidu.com/bossyt/item/020e2cddf09463ee3cc2cb1a
              http://wenku.baidu.com/view/7e42df3667ec102de2bd8927.html
              http://blog.sina.com.cn/s/blog_59af21260100tv1m.html
本文远程,转载请注明出处、作者
如有错误,欢迎指正
邮箱:czmcj@163.com

0
0
分享到:
评论

相关推荐

    Linux中fuser命令用法详解

    **fuser命令详解** 在Linux操作系统中,`fuser`是一个强大的工具,它能够帮助用户查找正在使用某个文件、挂载点或网络端口的进程。这个命令在系统管理、故障排查以及日常维护中十分有用,因为它能提供关于进程与...

    linux fuser命令

    ### Linux Fuser 命令详解 #### 功能概述 `fuser` 是 Linux 下一个非常实用的命令工具,主要用于查找哪些进程正在使用特定的文件、目录或网络端口,并提供这些进程的详细信息。这对于解决文件锁定问题、调试网络...

    Linux系统使用Fuser命令的方法

    Linux系统中的Fuser命令是一个强大的工具,用于查找哪些进程正在使用特定的文件、目录或网络套接字。这个命令能够帮助系统管理员跟踪资源占用情况,定位占用特定文件的进程,以便进行故障排查或管理任务。下面我们将...

    查询进程打开的文件,fuser lsof

    查询进程打开的文件,fuser 和 lsof 命令 在 Linux 系统中,经常会遇到某个进程打开的文件或目录被占用的情况,导致无法卸载或删除该文件或目录。这时,需要使用特殊的命令来查询当前打开的文件或目录。其中,fuser...

    常用Shell命令详解

    Shell命令是Linux或Unix操作系统中的一种命令行工具,用于与操作系统进行交互,执行各种操作,如文件管理、系统管理、程序控制等。以下是对部分常用Shell命令的详细解释: 1. `basename`:这个命令从路径中提取出...

    psmisc_fuser_psmisc_

    `psmisc`是一个非常实用的工具集,它包含了多个用于系统监控和管理的命令,比如`ps`、`kill`、`fuser`等。这些命令使得用户可以查看、控制和分析运行中的进程。在给定的压缩包`psmisc_fuser_psmisc_`中,我们重点...

    fuser-bin-sourcecode.zip

    3. **fuser.c**:这是`fuser`的主要源代码文件,实现了`fuser`命令的功能。在这个文件中,你可以看到如何遍历系统中的进程,检查它们的打开文件描述符,从而找出哪些进程正在使用指定的文件。 4. **pstree.c**:`...

    HP-LaserJet-3015-50-fuser-error-报错--定影组件和电源板故障.txt

    HP-LaserJet-3015-50-fuser-error-报错--

    Linux使用fuser命令找出访问文件系统的进程

    fuser用于标识访问文件或socket的进程信息。下面以经常会遇到的不能卸载光驱为例,讨论fuser的用法:  1).卸载光驱文件系统:  [root@vserver01 ~]# umount /mnt  umount: /mnt: device is busy  umount: /...

    fuser-开源

    用户只需运行一个命令,fuser就能自动处理其余的工作,这包括但不限于: 1. **源码获取**:fuser会从指定的URL或者OpenBSD的ports树中获取软件的源代码。 2. **依赖解析**:在编译之前,fuser会检查并下载所有必要...

    在Linux上如何使用fuser工具来查询文件的用户.docx

    基本上,使用 fuser 工具可以显示大部分内容,例如,/root 目录下的使用者、进程 ID、PID 后面的 c 代表进程的工作目录,后面是具体的命令。使用 fuser 工具可以查询文件、目录、socket 端口和文件系统的使用进程,...

    fuser软件在Linux系统下的使用方法.docx

    这将显示 `/root` 目录下的使用者、进程 ID、PID 后面的 c 代表进程的工作目录,后面是具体的命令。 Fuser 工具的高级用法 ------------------ Fuser 工具还提供了多种参数来查询不同的信息,例如: * `e`:该...

    fuse-sshfs-2.8-5.el8.x86_64.rpm

    离线安装包,亲测可用

    TerraBuilder Fuser v6.5 免LIC版

    Fuser可谓是Skyline中的神器,Fuser配合TerraBuilder可以实现联机工作,大大的提高出图的效率,TerraGate有了它可以实现直连功能,省工省力更省时间。这个程序不需要lic,可以直接使用。 在使用时,请确保安装...

    TerraBuilder Fuser v6.0.2 免LIC版

    Fuser可谓是Skyline中的神器,Fuser配合TerraBuilder可以实现联机工作,大大的提高出图的效率,TerraGate有了它可以实现直连功能,省工省力更省时间。这个程序不需要lic,可以直接使用。

    glusterfs-fuse-7.9-1.el7.x86_64.rpm

    官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装

    Skyline TerraBuilder Fuser V6.5.1 免LIC版

    Fuser可谓是Skyline中的神器,Fuser配合TerraBuilder可以实现联机工作,大大的提高出图的效率,TerraGate有了它可以实现直连功能,省工省力更省时间。这个程序不需要lic,可以直接使用。 在使用时,请确保安装...

Global site tag (gtag.js) - Google Analytics