一、fuser命令简介
fuser用于通过文件或端口号识别进程。fuser命令列出了本地进程的进程号,那些本地进程使用file,参数指定的本地或远程文件。对于阻塞特别设备,此命令列出了使用该设备上任何文件的进程。每个进程号后面都跟随一个字母,该字母指示进程如何使用文件。
- c:指示进程的工作目录。
- e:指示该文件为进程的可执行文件(即进程由该文件拉起)。
- f:指示该文件被进程打开,默认情况下f字符不显示。
- F:指示该文件被进程打开进行写入,默认情况下F字符不显示。
- r:指示该目录为进程的根目录。
- m:指示进程使用该文件进行内存映射,抑或该文件为共享库文件,被进程映射进内存。
二、使用示例
1、列出使用某文件的进程号
[root@test1 ansible]# fuser /etc/passwd
/etc/passwd: 6774
2、列出使用某文件的进程号和用户名
[root@test1 ansible]# fuser -u /home/wuhs
/home/wuhs: 78216c(wuhs)
3、终止给定文件的所有进程
[root@test1 ~]# fuser -uk /home/wuhs/
/home/wuhs: 7034c(root) 7194c(root)
[root@test1 ~]# ps -ef |grep 7034
root 7234 6993 0 15:20 pts/0 00:00:00 grep --color=auto 7034
4、列出指定端口的进程号
[root@test1 ~]# fuser -n tcp 8080
8080/tcp: 7559
5、查看fuser版本
[wuhs@test1 apache-tomcat-9.0.44]$ fuser -V
fuser (PSmisc) 22.20
Copyright © 1993-2010 Werner Almesberger and Craig Small
PSmisc comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it under
the terms of the GNU General Public License.
For more information about these matters, see the files named COPYING.
6、列出所有已知信号
[wuhs@test1 apache-tomcat-9.0.44]$ 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
7、终止使用给定文件系统的所有进程
[root@test1 ~]# fuser -kuc /home/
此命令非常危险,慎用!!!
8、终止进程前进行确认
[root@test1 ~]# fuser -u -k -i /home/wuhs/apache-tomcat-9.0.44/logs/catalina.out
/home/wuhs/apache-tomcat-9.0.44/logs/catalina.out: 7219(wuhs)
Kill process 7219 ? (y/N) y
9、发送指定信号并显示详细信息
发送HUP挂起信号,并使用-v显示详细信息
[root@test1 ~]# fuser -k -SIGHUP -v /home/wuhs/apache-tomcat-9.0.44/logs/catalina.out
USER PID ACCESS COMMAND
/home/wuhs/apache-tomcat-9.0.44/logs/catalina.out:
wuhs 7259 f… tail
三、使用语法及参数说明
1、使用语法
用法1:fuser [参数选项] 文件
用法2:fuser -l|-V
其中文件可以是文件名或者TCP、UDP端口号。
2、参数说明
参数 | 参数说明 |
---|---|
-a,–all | 显示命令行中指定的所有文件; |
-i,–interactive | 杀死进程前需要用户进行确认; |
-k,–kill | 杀死访问指定文件的所有进程; |
-l,–list-signals | 列出所有已知信号名; |
-m,–mount | 指定一个被加载的文件系统或一个被加载的块设备; |
-M,–ismountpoint | 仅当名称为挂载点时满足请求 |
-n,–namespace SPACE | 选择不同的名称空间; |
-s,–silent | 保持静默 |
-SIGNAL | 仅发送信号 |
-u,–user | 在每个进程后显示所属的用户名。 |
-v,–verbose | 输出详细信息 |
-w,–writeonly | 仅终止具有写访问权限的进程 |
-V,–version | 显示命令软件版本信息 |
-4,–ipv4 | 只搜索IPV4套接字 |
-6,–ipv6 | 只搜索IPV4套接字 |
- | 重置选项 |
3、命令安装
[root@s186 bin]# yum install psmisc -y