Linux fuser命令详解
来源:互联网 发布:linux vi 加行号 编辑:程序博客网 时间:2024/06/05 18:04
fuser - identify processes using files or sockets
fuser 可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口,并给出程序进程的详细信息.
比如当你想umount光驱或者其他文件系统的的时候,结果系统提示你设备正在使用或者正忙,可是你又找不到到底谁使用了他。这个时候fuser可派上用场了.
查看那个用户在使用 /dev/shm
[root@localhost ~]# fuser -vm /dev/shm
USER PID ACCESS COMMAND
/dev/shm: grid 4150 ....m oracle
grid 4152 ....m oracle
grid 4156 ....m oracle
grid 4158 ....m oracle
grid 4160 ....m oracle
grid 4162 ....m oracle
grid 4164 ....m oracle
grid 4166 ....m oracle
grid 4168 ....m oracle
grid 4170 ....m oracle
grid 4172 ....m oracle
grid 4174 ....m oracle
grid 4176 ....m oracle
grid 4178 ....m oracle
grid 4180 ....m oracle
grid 4254 ....m oracle
grid 4256 ....m oracle
在使用fuser -km 就可以杀死进程,同时也可以使用交互式的-i参数,一个一个杀死
# fuser -km /dev/shm //杀死所有访问/dev/shm文件系统的进程
fuser显示使用指定文件或者文件系统的进程ID.默认情况下每个文件名后面跟一个字母表示访问类型。
访问类型如下:
c 代表当前目录
e 将此文件作为程序的可执行对象使用
f 打开的文件。默认不显示。
F 打开的文件,用于写操作。默认不显示。
r root 目录,表示该目录是该进程的 / 目录。
m 映射文件或者共享库。
s 将此文件作为共享库(或其他可装载对象)使用
当指定的文件没有被访问,或者出现错误的时候,fuser会返回非零。
为了查看使用tcp和udp套接字的进程,需要-n选项并指定名称空间。默认IpV4和IpV6都会显示。套接字可以是本地的或者是远程的端口,和远程的地址。所有的域是可选的,但是其前面的','必须存在。如下:
[lcl_port][,[rmt_host][,[rmt_port]]]
对于ip地址和port,名称和数字表示都可以使用。
fuser只把PID输出到标准输出,其他的都输出到标准错误输出。
常用选项
-a 显示所有命令行中指定的文件,默认情况下被访问的文件才会被显示。
-c 和-m一样,用于POSIX兼容。
-k 杀掉访问文件的进程。如果没有指定-signal就会发送SIGKILL信号。
-i 杀掉进程之前询问用户,如果没有-k这个选项会被忽略。
-l 列出所有已知的信号名称。
-m name 指定一个挂载文件系统上的文件或者被挂载的块设备(名称name)。这样所有访问这个文件或者文件系统的进程都会被列出来。如果指定的是一个目录会自动转换成"name/",并使用所有挂载在那个目录下面的文件系统。
-n space 指定一个不同的命名空间(space).这里支持不同的空间文件(文件名,此处默认)、tcp(本地tcp端口)、udp(本地udp端口)。对于端口,可以指定端口号或者名称,如果不会引起歧义那么可以使用简单表示的形式,例如:name/space (即形如:80/tcp之类的表示)。
-s 静默模式,这时候-u,-v会被忽略。-a不能和-s一起使用。
-signal 使用指定的信号,而不是用SIGKILL来杀掉进程。可以通过名称或者号码来表示信号(例如-HUP,-1),这个选项要和-k一起使用,否则会被忽略。
-u 在每个PID后面添加进程拥有者的用户名称。
-v 详细模式。输出似ps命令的输出,包含PID,USER,COMMAND等许多域,如果是内核访问的那么PID为kernel. -V 输出版本号。
-4 使用IPV4套接字,不能和-6一起应用,只在-n的tcp和udp的命名存在时不被忽略。
-6 使用IPV6套接字,不能和-4一起应用,只在-n的tcp和udp的命名存在时不被忽略。
- 重置所有的选项,把信号设置为SIGKILL.
- Linux fuser命令详解
- Linux命令之fuser详解
- linux下强制umount+Fuser命令详解
- fuser命令用法详解
- fuser命令用法详解
- fuser命令详解
- fuser命令详解
- fuser命令详解
- Linux fuser命令
- Linux 命令之fuser
- Linux命令--fuser
- Linux的fuser命令解析
- linux中fuser用法详解
- linux中fuser用法详解
- lsof命令与fuser命令详解
- fuser命令
- fuser命令
- fuser 命令
- delegate传值-demo
- sip协议中重要名词Session(会话)、dialog(对话)、transaction(事务)的理解
- My97DatePicker使用说明文档
- Oracle在Linux内核参数的修改
- 养成好的开发习惯
- Linux fuser命令详解
- Android换肤的两种思路
- CPU的内部物理结构介绍
- WindowsAPI使用详解——GetVersion|GetVersionEx 获取操作系统版本和名称 - [VC++编程]
- vim 配置文件vimrc(二)
- error: No curses/termcap library found的解决办法
- spark的logDebug模式设置
- POM of SSH Activiti Integration
- 杭电ACM 2021 发工资咯:)