首页 运维干货【Linux工具系列】fuser的使用

【Linux工具系列】fuser的使用

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

fuser – identify processes using files or sockets

1.查询目录或文件的使用者

可以查询某个目录或文件是否被使用,被那个进程使用。

例如umount的时候,碰到设备忙的情况

alexsvr:/export/home # umount /home/
umount: /home: device is busy
umount: /home: device is busy

可以用下面的命令查询是那个进程在使用这个目录:

alexsvr:/home # fuser /home/
/home/:       16380c

根据PID,查询进行名称。 其实 Linux下,找到PID后,要杀要剐就随你便了。

alexsvr:/home # ps -ef|grep 16380
root     16380 16377  0 May10 pts/2    00:00:00 -bash

进程后的字母表明进程访问目录或文件的类型:
c      current directory.

e      executable being run.

f      open file. f is omitted in default display mode.

F      open file for writing. F is omitted in default display mode.

r      root directory.

m      mmap’ed file or shared library.

 

其实,直接使用-v参数就可以显示更详细的信息:

alexsvr:/home # fuser -v /home/

USER        PID ACCESS COMMAND
/home/:       root      16380 ..c.. bash

 

2.查询端口使用进程

alexsvr:/home # fuser -v -n tcp 22

USER        PID ACCESS COMMAND
22/tcp:              root      12319 F…. sshd

 

3.查询文件系统使用进程

alexsvr:/home # fuser -m /home/
/home/:       16380c

 

4.关闭进程

alexsvr:/home # fuser -v -k 进程名

fuser可以发送如下的信号:

alexsvr:/home # 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

 

kill的时候加上-i参数,则在杀死进程前需要进行确认。

 

本文链接:https://www.yunweipai.com/799.html

网友评论comments

回复 XiaoMing 取消回复

您的电子邮箱地址不会被公开。

  1. Mao说道:

    这个工具确实很有用。好像还有一个类似的工具,查询所有打开的文件句柄的,是什么来的?

  2. admin说道:

    fuser -ck是比较常用的。。。文章里的nassvr这个主机名。。。最好换个,呵呵。

Copyright © 2012-2022 YUNWEIPAI.COM - 运维派 京ICP备16064699号-6
扫二维码
扫二维码
返回顶部