fuser 命令小结

fuser 概述

fuser命令是用来显示所有正在使用着指定的file, file system 或者 sockets的进程信息。

例一:

#fuser –m –u /mnt/usb1 
/mnt/usb1:  1347c(root)  1348c(guido)  1349c(guido)

在例子一中,使用了-m和-u选项,用来查找所有正在使用/mnt/usb1的所有进程的PID已经该进程的OWNER,如1347c(root),其中1347是进程PID,root是该进程的OWNER。

fuser会显示正在使用指定的file,file system 或者 sockets的进程的PID。在默认的显示模式下,每个文件名之后会跟随一个字符,用来指示当前的访问类型。

如下所示:

c current directory.e executable being run.f open file.F open file for writing.r root directory.m mmap‘ed file or shared library

同时fuser 可以用来查找哪些进程正在使用指定的network port。


[[email protected] /]# fuser -v -n tcp 111

USER        PID   ACCESS   COMMAND 
111/tcp:             rpc        2848   F....         portmap

fuser 的返回值:

fuser如果没有找到任何进程正在使用指定的file, filesystem 或 socket, 或者在查找过程中发生了fatal error,则返回non-zero 值。

fuser如果找到至少一个进程正在使用指定的file, filesystem 或 socket,则返回zero。

fuser 常用场景

fuser通常被用在诊断系统的“resource busy”问题,通常是在你希望umount指定的挂载点得时候遇到。 如果你希望kill所有正在使用某一指定的file, file system or sockets的进程的时候,你可以使用-k option。

fuser –k /path/to/your/filename

这时fuser会向所以正在使用/path/to/your/filename的进程发送SIGKILL。如果你希望在发送之前得到提示,可以使用-i 选项。

fuser –k –i /path/to/your/filename

fuser的其他有用的参数

-k 
kills all process accessing a file. For example fuser -k /path/to/your/filename kills all processes accessing this directory without confirmation. Use -i for confirmation
-i 
interactive mode. Prompt before killing process
-v 
verbose.
-u 
append username
-a 
display all files
-m 
name specifies a file on a mounted file system or a block device that is mounted. All processes accessing files on that file system are listed. If a directory file is specified, it is automatically changed to name/. to use any file system that might be mounted on that directory.
 

参考:

[1] man fuser

时间: 2024-10-20 12:05:10

fuser 命令小结的相关文章

fuser命令小结

前提 linux环境下,当使用umount命令卸载挂载点时,会遇到“device is busy”提示,这时fuser就能查出谁在使用这个资源;当然umount –lf  [挂载点] 也可以强制卸载 功能 fuser 可以显示出当前哪个程序在使用磁盘上的某个文件.挂载点.甚至网络端口,并给出程序进程的详细信息. fuser只把PID输出到标准输出,其他的都输出到标准错误输出. 常用选项 -a 显示所有命令行中指定的文件,默认情况下被访问的文件才会被显示. -c 和-m一样,用于POSIX兼容.

Lniux常见的压缩/解压命令小结

转载请注明: 导航制导与控制实验室 2014年12月16日 在linux开发过程中,经常会遇资料的打包/解包.压缩/解压:本文我将在linux系统中常用的命令进行了整理和分类,内容如下: 1.tar 命令,主要是对Dir先归档,在借助其他命令处理归档文件: 2.单个文件的压缩命令,对单个文件进行处理的命令,有时也可以借助tar命令对目录先打包,再进行压缩: 3.zip.rar压缩命令,即可对单个文件也可对目录进行压缩处理,该方法利于不同操作系统的处理: 该文章只是作者本人的理解,有些命令还会验证

Cisco路由器auto secure命令小结

路由器命令auto secure用起来比较方便,而且可以关闭一些不安全的服务和启用一些安全的服务.这里对这个命令做了一个总结.(注:ios版本为:12.3(1)以上才支持使用) 总结如下:     1.关闭一些全局的不安全服务如下: Finger PAD Small Servers Bootp HTTP service Identification Service CDP NTP Source Routing 2.开启一些全局的安全服务如下: PassWord-encryption servic

Linux sed命令小结

1.什么是sed sed,流编辑器,即stream editor.它可以将文本文件的每一行读取到内存,即所谓sed的模式空间,在这个模式空间中可以进行编辑并输出. 2.sed的使用格式 sed [options] "AdressCommand" file1,file2,... 说明: a.Adress实际上是用来确定编辑文件的范围,可以是精确的某一行,也可以是从某一行到某一行,也   可以用正则进行过滤匹配. b.Command表示将符合Address的行进行XXX操作.注意默认情况下

fuser命令使用方法

问题   1.如何查找使用指定文件系统.目录或者文件的进程并将它们kill掉? 2.如何解决umount挂载点时出现device is busy的问题? 解决方法   使用fuser命令可以解决该问题.fuser的主要功能可以显示出当前哪个程序在使用磁盘上的某个文件.挂载点.甚至网络端口,并给出程序进程的详细信息.常用于解决umount挂载点时出现device is busy的情况. 1.显示使用/home文件系统的进程信息 fuser -umv /home # -u在每个PID后面添加进程拥有

linux dd、echo 、watch、fuser命令

  一.dd命令 以数据流进行复制,cp命令则是以文件为单位进行复制 if=数据来源    of=数据存储目标    bs=# 复制的字节数   count=# 复制几个bs   seek=# 跳过多少内容 eg:dd if=/dev/zero of /dev/sda  bs-512 count=1 抹除磁盘信息 二.echo 命令 1. echo   "n"| fdisk -l /dev/sda   echo命令直接将命令中需要的参数 通过管道送给命令 2.echo 命令可以显示字体

Linux后台进程管理的一些命令小结

Linux后台进程管理的一些命令:fg.bg.jobs.&.ctrl + z命令,供大家学习参考 一. &加在一个命令的最后,可以把这个命令放到后台执行 ,如gftp &, 二.ctrl + z可以将一个正在前台执行的命令放到后台,并且处于暂停状态,不可执行 三.jobs查看当前有多少在后台运行的命令jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated,但是如果任务被终止了(kill),shell 从当前的shell

Oracle 常用命令小结

1.当前数据库中查看建表语句 select dbms_metadata.get_ddl('TABLE','表名') from dual; 2. Oracle 常用命令小结,布布扣,bubuko.com

Linux常用命令小结(续)

20. mysql mysql --host=127.0.0.1 --port=3306 --database=test --user=test --password=test --default-character-set=utf8 21. 脚本求两个文件的相同集合 test1   test2 1           2 2           3 3           4 cat test1 test2 | sort | uniq -d (result: 2 3) cat test1 te