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。

[root@bl25p-19 /]# 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.
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值