Linux-fuser

1. 描述
2. 选项
3. EXAMPLES
4. RESTRICTIONS 限制
5. SIGNAL 可用信号

fuser - 使用文件或套接字识别进程

1. 描述

fuser使用指定的文件或文件系统显示进程的PID。
  在默认显示模式下,每个文件名后跟一个表示访问类型的字母:

F…. open file for writing. F is omitted in default display mode. 打开文件写。 默认显示模式中省略F。
f…. open file. f is omitted in default display mode. 打开文件。 默认显示模式中省略f。
.r… root directory. 根目录。
..c.. current directory. 当前目录。进程的工作目录
...e. executable being run. 正在运行的可执行
….m mmap'ed file or shared library. mmap的文件或共享库。
. Placeholder, omitted in default display mode. 占位符,在默认显示模式下省略。

如果未访问任何指定的文件或发生致命错误,fuser 将返回非零返回码。 如果至少找到一个访问权限,则fuser返回零。

要使用TCP和UDP套接字查找进程,必须使用“-n”选项选择相应的名称空间。 默认情况下,fuser将同时查看IPv6和IPv4套接字。 要更改默认行为,请使用-4和-6选项。 套接字可以由本地和远程端口以及远程地址指定。 所有字段都是可选字段,但必须存在缺少字段前面的逗号:
       [lcl_port][,[rmt_host][,[rmt_port]]]
   符号或数字值都可用于IP地址和端口号。
   fuser只将PID输出到stdout,其他所有内容都发送到stderr。

2. 选项

Option en cn 互斥 依赖
-a,--all display unused files too 显示命令中指定的所有文件,包含未使用 -s  
-s,--silent silent operation 无声的操作. 将忽略-u和-v。 -a  
-v,--verbose verbose output 详细输出    
-u,--user display user IDs 显示用户ID    
         
-n,--namespace SPACE search in this name space (file, udp, or tcp) 在此名称空间中搜索(默认文件,也可udp或tcp)    
-4,--ipv4 search IPv4 sockets only 仅搜索IPv4套接字, 仅对tcp和udp命名空间有效。 -6  
-6,--ipv6 search IPv6 sockets only 仅搜索IPv6套接字, 仅对tcp和udp命名空间有效。 -4  
         
-k,--kill kill processes accessing the named file 杀死访问该文件的进程。默认发SIGKILL,可用-SIGNAL更改    
-i,--interactive ask before killing (ignored without -k) 在杀戮之前询问   -k
-w,--writeonly kill only processes with write access 仅杀死具有写访问权限的进程   -k
-SIGNAL send this signal instead of SIGKILL 发送指定信号而不是SIGKILL   -k
-l,--list-signals list available signal names 列出可用的信号名称    
         
-m,--mount show all processes using the named filesystems or block device 使用命名文件系统或块设备显示所有进程    
-M,--ismountpoint fulfill request only if NAME is a mount point 仅在NAME是挂载点时才满足请求。如果NAME恰好不是文件系统,它可以防止你杀死机器。    
-I,--inode use always inodes to compare files 始终使用inode来比较文件    
-V,--version display version information 显示版本信息    
- Reset all options and set the signal back to SIGKILL. 重置所有选项并将信号设置回SIGKILL。    

3. EXAMPLES

$ fuser -km /home
// kills all processes accessing the file system /home in any way.以任何方式杀死访问文件系统/ home的所有进程。

if fuser -s /dev/ttyS1; then :; else something; fi
// invokes something if no other process is using /dev/ttyS1.如果没有其他进程正在使用/dev/ttyS1,则调用一些东西。

$ fuser telnet/tcp
// shows all processes at the (local) TELNET port.显示(本地)TELNET端口的所有进程。

$ fuser -v fuser.xls
 USER PID ACCESS COMMAND
/home/toma/fuser.xls:
 toma 5323 F.... soffice.bin

$ sudo fuser -vua /dev/sda10
 USER PID ACCESS COMMAND
/dev/sda10: root 839 F.... (root)mount.ntfs

$ sudo fuser -mvua /dev/sda10
 USER PID ACCESS COMMAND
/dev/sda10: root kernel mount (root)/run/media/toma/TjOe
 root 839 F.... (root)mount.ntfs
 toma 7697 f.... (toma)vlc

$ sudo fuser -vun tcp 1080
 USER PID ACCESS COMMAND
1080/tcp: root 421 F.... (root)v2*

4. RESTRICTIONS 限制

以相同方式多次访问同一文件或文件系统的进程仅显示一次。
  如果在命令行上多次指定了同一个对象,则可能会忽略其中一些条目。
  除非以特权运行,否则fuser可能只能收集部分信息。因此,可能未列出属于其他用户的进程打开的文件,并且可执行文件可能仅被分类为映射。
  fuser无法报告它没有查看文件描述符表的权限的任何进程。发生此问题的最常见时间是在以非root用户身份运行fuser时查找TCP或UDP套接字。在这种情况下,定影器将报告无法访问。
  安装fuser SUID root将避免与部分信息相关的问题,但出于安全和隐私原因可能不合需要。
  udp和tcp名称空间,并且无法使用早于1.3.78的内核搜索UNIX域套接字。
  内核访问仅使用-v选项显示。
  -k选项仅适用于进程。如果用户是内核,fuser将打印一条建议,但除此之外不采取任何措施。

5. SIGNAL 可用信号

-SIGNAL 选项可用信号使用 -l 列出

No fuser -l 信号 默认操作 描述
1 HUP SIGHUP 终止 挂断
2 INT SIGINT 终止 终端中断信号 'Ctrl C’
3 QUIT SIGQUIT 终止(核心转储) 终端退出信号 'Ctrl \’
4 ILL SEAL 终止(核心转储) 非法指令
5 TRAP SIGTRAP 终止(核心转储) 跟踪/断点陷阱
6 ABRT SIGABRT 终止(核心转储) 处理中止信号
7 BUS SIGBUS 终止(核心转储) 访问内存对象的未定义部分
8 FPE SIGFPE 终止(核心转储) 错误的算术运算
9 KILL SIGKILL 终止 强制终止(不能被抓住或忽略)
10 USR1 SIGUSR1 终止 用户定义的信号1
11 SEGV SIGSEGV 终止(核心转储) 无效的内存引用
12 USR2 SIGUSR2 终止 用户定义的信号2
13 PIPE SIGPIPE 终止 写在没有人阅读的管道上
14 ALRM SIGALRM 终止 警报
15 TERM SIGTERM 终止 终止信号
16 STKFLT SIGSTKFLT   堆栈故障
17 CHLD SIGCHLD 忽略 子进程已终止,停止或继续
18 CONT SIGCONT 继续 如果停止,继续执行 'fg/bg’
19 STOP SIGSTOP 停止 停止执行(无法捕获或忽略) ‘Ctrl Z’
20 TSTP SIGTSTP 停止 终端停止信号 ‘Ctrl Z’
21 TTIN SIGTTIN 停止 后台进程尝试读取
22 TTOU SIGTTOU 停止 尝试写入的后台进程
23 URG SIGURG 忽略 套接字可提供高带宽数据
24 XCPU SIGXCPU 终止(核心转储) 超出CPU时间限制
25 XFSZ SIGXFSZ 终止(核心转储) 超出文件大小限制
26 VTALRM SIGVTALRM 终止 虚拟计时器已过期
27 PROF SIGPROF 终止 分析计时器已过期
28 WINCH SIGWINCH 忽略 终端窗口大小已更改
29 POLL SIGPOLL 终止 可轮询的事件
30 PWR SIGPWR   电源故障
31 SYS SIGSYS 终止(核心转储) 系统调用错误

默认操作行动解释:
终止  - Terminate 过程异常终止。该过程终止于_exit()的所有后果,除了wait()和waitpid()可用的状态指示指定信号的异常终止。
终止(核心转储)  - Terminate (core dump)  异常终止进程。另外,可能发生实现定义的异常终止动作,例如创建核心文件。
忽略  - Ignore 忽略信号。
停止  - Stop 停止(不终止)该过程。
继续  - Continue 如果停止,继续该过程; 否则,忽略信号。

https://en.wikipedia.org/wiki/Signal_(IPC)

Post operation failed. The error message related to this problem was as follows: 博文中含有违规内容: v2*!

转载于:https://www.cnblogs.com/sztom/p/11082469.html

Linux-fuser相关推荐

  1. linux fuser 命令 查看文件/网络端口 被什么进程占用

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

  2. linux fuser主机关闭,linux 下强制umount+Fuser命令详解

    fuser -km /soft umount /soft Linux命令Fuser详解 使用文件或者套节字来表示识别进程.我常用的他的两个功能:查看我需要的进程和我要杀死我查到的进程比如当你想umou ...

  3. linux系统fuser命令,Linux fuser 命令详解

    fuser命令小结 linux环境下,当使用umount命令卸载挂载点时,会遇到"device is busy"提示,这时fuser就能查出谁在使用这个资源;当然umount –l ...

  4. Linux fuser 命令详解------常用选项fuser功能使用

    使用fuser命令结束一个文件的进程: 有时我们想卸载某个目录时发现一直处于busy状态,自己又不知道是什么时候占用的这是就可以用fuser来把访问这个目录的用户踢掉,实现卸载的目的,条件要在管理员用 ...

  5. Linux - fuser 命令

    前言 之前连公司堡垒机的时候发现连不上,找运维排查是建立的链接数太多,很多超时链接没有断掉,导致不能再创建链接 此时,需要手动断开用户终端链接,然后百度搜到 fuser 可以断开用户终端链接 命令作用 ...

  6. Linux fuser

    fuser 使用文件或文件结构识别进程 fuser命令用于报告进程使用的文件和网络套接字.fuser命令列出了本地进程的进程号. c: 指示进程的工作目录. e: 指示该文件为进程的可执行文件 f: ...

  7. linux系统fuser命令,Linux系统使用Fuser命令的方法

    fuser命令是一个非常聪明的unix实用程序,用于查找正在使用某个文件.目录或socket的进程. 它还提供有关拥有该进程的用户和访问类型的信息..fuser工具显示了使用指定文件或文件系统的每个进 ...

  8. linux bin fuser,Linux中fuser命令用法详解

    描述: fuser可以显示出当前哪个程序在使用磁盘上的某个文件.挂载点.甚至网络端口,并给出程序进程的详细信息. fuser显示使用指定文件或者文件系统的进程ID. 默认情况下每个文件名后面跟一个字母 ...

  9. Linux 强制卸载挂载点---fuser 命令详解

    Linux fuser 命令详解 强制卸载挂载点 如果你的光盘挂载在/mnt/cdrom 使用umount /dev/cdrom提示busy 可以使用以下命令强行卸载. # fuser -km /mn ...

  10. linux挂载卸载不掉 umount target is busy

    目录 问题描述 问题原因 方法一. 使用fuser命令处理 方法二.通过lsof命令处理 方法三.重启系统 问题描述 Linux下挂载后的分区或者磁盘某些时候需要umount的时候出现类似" ...

最新文章

  1. 麦克纳姆轮——机械部分
  2. 使用Spring操作Redis的key-value数据
  3. Oracle 11g R2安装过程中遇到的报错及解决办法
  4. [转]Google的C++代码规范
  5. 254. Factor Combinations
  6. 关于在node.js 中使用formData 发送axios上传文件失败解决方案
  7. 我的天!我靠这个拥有了自己第一架无人机!
  8. SPT20 协议_过户协议书模板五篇
  9. 【redis】mac安装redis
  10. mysql isolation_mysqltx_isolation
  11. 蓝桥杯 ADV-180 算法提高 陶陶摘苹果2
  12. 社团报名系统php,php85高校学生社团管理系统
  13. 方正字库中、英文、PS名称对照表
  14. 医学图像分割之肝脏分割(2D)
  15. 中国计算机展望未来,作文:展望未来中国的2025
  16. 目标检测中region proposal的作用?
  17. python 算24 代码
  18. 电脑端微信如何清空聊天记录
  19. (超详细)MapReduce工作原理及基础编程
  20. Android 开发者,你真的会用textview(maxEms和maxLength)的属性吗?

热门文章

  1. 大数据24小时:百度推出区块链项目“莱茨狗”,腾讯与阿斯利康合作共建医药打假平台
  2. 计算机毕业设计Javaweb开发数码产品推荐平台系统设计与实现(源码+系统+mysql数据库+lw文档)
  3. 图形界面介绍Attribute Editor
  4. 【随机共振】基于随机共振的高灵敏度GPS信号捕获算法
  5. python进程结束
  6. mysql 性能容量评估
  7. 苏大计算机专业课平均分,45所院校专业课均分出炉,想要上岸心仪院校你需要定位120分!...
  8. python2安装tensorflow,tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
  9. lumion无法启动因计算机丢失文件夹,我Win7打开Lumion10 丢失string.dll界面?
  10. 2022款联想小新Air14和Thinkbook14区别