linux环境下,当使用umount命令卸载挂载点时,会遇到“device is busy”提示,这时fuser就能查出谁在使用这个资源;当然umount –lf  [挂载点] 也可以强制卸载

fuser 可以显示出当前哪个程序在使用磁盘上的某个文件、挂载点、甚至网络端口,并给出程序进程的详细信息.

fuser只把PID输出到标准输出,其他的都输出到标准错误输出。

常用选项

-a 显示所有命令行中指定的文件,默认情况下被访问的文件才会被显示。 
-c 和-m一样,用于POSIX兼容。 
-k 杀掉访问文件的进程。如果没有指定-signal就会发送SIGKILL信号。结合 –signal

-signal 使用指定的信号,而不是用SIGKILL来杀掉进程。可以通过名称或者号码来表示信号(例如-HUP,-1),这个选项要和-k一起使用,否则会被忽略。

-l 列出所有已知的信号名称。 
-i 杀掉进程之前询问用户,如果没有-k这个选项会被忽略。 
-m name 指定一个挂载文件系统上的文件或者被挂载的块设备(名称name)。这样所有访问这个文件或者文件系统的进程都会被列出来。如果指定的是一个目录会自动转换成"name/",并使用所有挂载在那个目录下面的文件系统。 
-n space 指定一个不同的命名空间(space).这里支持不同的空间文件(文件名,此处默认)、tcp(本地tcp端口)、udp(本地udp端口)。对于端口,可以指定端口号或者名称,如果不会引起歧义那么可以使用简单表示的形式,例如:name/space (即形如:80/tcp之类的表示)。 
-s 静默模式,这时候-u,-v会被忽略。-a不能和-s一起使用。  
-u 在每个PID后面添加进程拥有者的用户名称。 
-v 详细模式。输出似ps命令的输出,包含PID,USER,COMMAND等许多域,如果是内核访问的那么PID为kernel.

案例

假设无法卸载的设备为/dev/sdb1 
1)运行下面命令看一下哪个用户哪个进程占用着此设备

fuser -m -v /dev/sdb1

2)运行下面命令杀掉占用此设备的进程

fuser -m -v -k /dev/sdb1
# 或者
fuser -m -v -k -i  /dev/sdb1
# 每杀掉一下进程会让你确认

3)再umount

查看那些程序使用tcp的80端口:

$fuser -n tcp 80
# 或
$fuser -v -n tcp 80
# 或
$fuser -v 80/tcp 

这里,后两种方式显示的信息比较全,因为有了-v选项

# fuser -v 111/udp 111/tcp
用户 进程号 权限 命令
111/udp: rpc 968 F.... rpcbind
111/tcp: rpc 968 F.... rpcbind

如上例子中第4列的权限也成访问类型,如下:

c 代表当前目录                              F 打开的文件,用于写操作。默认不显示。

e 可执行的被运行                          m 映射文件或者共享库。

f 打开的文件。默认不显示。         r 根目录。

其它相同命令:

# netstat -lntup|grep 111
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 968/rpcbind
tcp 0 0 :::111 :::* LISTEN 968/rpcbind
udp 0 0 0.0.0.0:111 0.0.0.0:* 968/rpcbind
udp 0 0 :::111 :::* 968/rpcbind# ss -lntup|grep 111
udp UNCONN 0 0 *:111 *:* users:(("rpcbind",968,6))
udp UNCONN 0 0 :::111 :::* users:(("rpcbind",968,9))
tcp LISTEN 0 128 :::111 :::* users:(("rpcbind",968,11))
tcp LISTEN 0 128 *:111 *:* users:(("rpcbind",968,8))# lsof -i :111
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
rpcbind 968 rpc 6u IPv4 11275 0t0 UDP *:sunrpc
rpcbind 968 rpc 8u IPv4 11278 0t0 TCP *:sunrpc (LISTEN)
rpcbind 968 rpc 9u IPv6 11280 0t0 UDP *:sunrpc
rpcbind 968 rpc 11u IPv6 11283 0t0 TCP *:sunrpc (LISTEN)

signal列表

# 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 -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
16) SIGSTKFLT 17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP
21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ
26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 30) SIGPWR
31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3
38) SIGRTMIN+4 39) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8
43) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13
48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 52) SIGRTMAX-12
53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7
58) SIGRTMAX-6 59) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2
63) SIGRTMAX-1 64) SIGRTMAX

linux fuser 命令 查看文件/网络端口 被什么进程占用相关推荐

  1. linux按照目录大小降序排列,Linux du命令查看文件夹大小并按降序排列

    1. df -lh 2. du -s /usr/* | sort -rn 这是按字节排序 3. du -sh /usr/* | sort -rn 这是按兆(M)来排序 4.选出排在前面的10个 du ...

  2. linux du命令 前多少个,Linux du命令查看文件夹大小并按降序排列

    1. df -lh 2. du -s /usr/* | sort -rn 这是按字节排序 3. du -sh /usr/* | sort -rn 这是按兆(M)来排序 4.选出排在前面的10个 du ...

  3. linux stat 命令查看文件信息

    在Linux中,没有文件创建时间的概念.只有文件的访问时间.修改时间.状态改变时间.也就是说不能知道文件的创建时间.但如果文件创建后就没有修改过,修改时间=创建时间;如果文件创建后,状态就没有改变过, ...

  4. 《linux核心应用命令速查》连载十四:fuser:用文件或者套接口表示进程

    fuser:用文件或者套接口表示进程 作用:fuser命令用文件或者套接口表示进程. 用法:fuser [-a | -s | -c] [-4 | -6] [-n space] [-k [-i] [-s ...

  5. Linux命令 查看文件中指定行号的内容

    前言 有一个很大很大的文件,比如10G. 我想看看10000行到20000行之间的内容 我想看看前100行的内容 我想看看最后100行的内容 - 办法 Linux使用命令查看文件指定行号的内容,有下面 ...

  6. linux(2):linux命令查看开放哪些端口

    linux命令查看开放哪些端口 netstat -nupl (UDP类型的端口) netstat -ntpl (TCP类型的端口) a 表示所有 n表示不查询dns t表示tcp协议 u表示udp协议 ...

  7. linux中文件记录的时间参数,【Linux】stat命令查看文件的三个时间参数

     在Windows中创建一个文件都会有相应的创建时间,修改时间,访问时间来记录文件的一些属性.在Linux中也不例外,文件也有三个时间来记录文件的变动,这三个时间分别是Modification t ...

  8. linux哪个命令不可以查看文件内容,linux命令--查看文件内容

    cat :由第一行开始显示文件内容: tac:从最后一行开始显示,可以看出tac与cat字母顺序相反: nl:显示的时候输出行号: more:一页一页的显示文件内容: less与more类似,但它可以 ...

  9. 利用linux的df和du命令查看文件和目录的内存占用

    版权声明:本文为博主原创文章,转载请超链接注明出处.    https://blog.csdn.net/ljc1026774829/article/details/74935658 当磁盘大小超过标准 ...

最新文章

  1. asp.net 控制页面css样式
  2. 杰奇数据库mysql_杰奇模板出现Unable to save result set in…可尝试修复数据库
  3. python一点基础都没有的怎么办-Python基础常见问题总结(一)
  4. 小工匠聊架构-Redis 缓存一致性设计
  5. CodeForces - 1560F2 Nearest Beautiful Number (hard version)(二分+数位dp)
  6. layui按钮展开、_layui可折叠的组织架构树形图
  7. [剑指offer]面试题第[3]题[JAVA][从尾到头打印链表][栈]
  8. Linux常用命令大全(非常全)
  9. python2.7出现的错误
  10. springcloud工作笔记105---springboot2.x实现优雅的关闭服务
  11. python类与对象-如何派生内置不可变类型并修其改实例化行为
  12. html鼠标指向上面有尾注,插入脚注和尾注的方法
  13. S3C2440c语言汇编传参点灯
  14. electron 通过nodejs的winre库实现软件开机自启动
  15. 水漆哪个品牌好?十大品牌水漆排行榜
  16. 支付宝二维码支付文档,找了好久,记在这里
  17. Android实训-家庭财务管理系统
  18. LaTex(1):使用在线表格生成器工具生成LaTex表格
  19. Android Manifest
  20. 【STM32H7教程】第91章 STM32H7的FDCAN总线基础知识和HAL库API

热门文章

  1. 设计模式 — 结构型模式 — 外观模式
  2. Linux Kernel TCP/IP Stack — L1 Layer — Network Interface
  3. solidworks操作记录
  4. 24BYJ48电机的使用,带驱动程序
  5. 算法:五分钟了解一致性hash算法
  6. Head First设计模式之策略模式(Strategy)
  7. PHP问题 —— Warning: PHP Startup: Unable to load dyna
  8. Android draw9patch点九图常识
  9. Tomcat目录介绍以及运行时寻找class的顺序
  10. oracle空间管理