1、命令简介
fuser:用于通过文件或端口号识别进程。
2、命令用法
fuser [-a|-s|-c] [-4|-6] [-n space ] [-k [-i] [-signal ] ] [-muvf] name fuser -l fuser -V
3、命令描述
fuser
命令用于显示使用指定文件或文件系统的进程的pid
。在默认显示模式下,每个文件名后面都有一个字母表示访问类型:
访问类型 | 描述 |
c | 当前目录。 |
e | 正在运行的可执行文件。 |
f | 打开的文件。默认显示模式下省略f。 |
F | 打开文件进行写入。默认显示模式下省略F。 |
r | 根目录。 |
m | 指示进程使用该文件进行内存映射, 或者该文件为共享库文件,被进程映射进内存。 |
如果没有访问指定的文件或发生致命错误,fuser
返回一个非零返回码。如果找到至少一个访问,则fuser返回0。
为了查找使用TCP和UDP套接字的进程,必须使用-n选项选择相应的名称空间。默认情况下,fuser将查找IPv6和IPv4套接字。要更改默认的行为,请使用-4
和-6
选项。套接字可以由本地和远端端口以及远端地址指定。所有字段都是可选的,但是缺失字段前必须有逗号:
[lcl_port][,[rmt_host][,[rmt_port]]]
IP地址和端口号可以使用符号值或数值。
fuser
只输出pid
到stdout
,其他的都发送到stderr
。
4、命令选项
参数 | 描述 |
-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套接字 |
- | 重置选项 |
5、使用示例
1)列出使用某文件的进程号
fuser /etc/passwd
2)列出使用某文件的进程号和用户名
fuser -u /home/wuhs
3)终止给定文件的所有进程
fuser -uk /home/wuhs/
4)列出指定端口的进程号
fuser -n tcp 8080
5)终止使用给定文件系统的所有进程
fuser -kuc /home/
6)终止进程前进行确认
fuser -u -k -i /home/apache-tomcat/logs/catalina.out
7)发送指定信号并显示详细信息
fuser -k -SIGHUP -v /home/apache-tomcat/logs/catalina.out