Linux-fuser

Linux-fuser

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.正在运行的可执行
….mmmap'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. 选项

Optionencn互斥依赖
-a,--alldisplay unused files too显示命令中指定的所有文件,包含未使用-s 
-s,--silentsilent operation无声的操作. 将忽略-u和-v。-a 
-v,--verboseverbose output详细输出  
-u,--userdisplay user IDs显示用户ID  
     
-n,--namespace SPACEsearch in this name space (file, udp, or tcp)在此名称空间中搜索(默认文件,也可udp或tcp)  
-4,--ipv4search IPv4 sockets only仅搜索IPv4套接字, 仅对tcp和udp命名空间有效。-6 
-6,--ipv6search IPv6 sockets only仅搜索IPv6套接字, 仅对tcp和udp命名空间有效。-4 
     
-k,--killkill processes accessing the named file杀死访问该文件的进程。默认发SIGKILL,可用-SIGNAL更改  
-i,--interactiveask before killing (ignored without -k)在杀戮之前询问 -k
-w,--writeonlykill only processes with write access仅杀死具有写访问权限的进程 -k
-SIGNALsend this signal instead of SIGKILL发送指定信号而不是SIGKILL -k
-l,--list-signalslist available signal names列出可用的信号名称  
     
-m,--mountshow all processes using the named filesystems or block device使用命名文件系统或块设备显示所有进程  
-M,--ismountpointfulfill request only if NAME is a mount point仅在NAME是挂载点时才满足请求。如果NAME恰好不是文件系统,它可以防止你杀死机器。  
-I,--inodeuse always inodes to compare files始终使用inode来比较文件  
-V,--versiondisplay 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 列出
Nofuser -l信号默认操作描述
1HUPSIGHUP终止挂断
2INTSIGINT终止终端中断信号 'Ctrl C’
3QUITSIGQUIT终止(核心转储)终端退出信号 'Ctrl \’
4ILLSEAL终止(核心转储)非法指令
5TRAPSIGTRAP终止(核心转储)跟踪/断点陷阱
6ABRTSIGABRT终止(核心转储)处理中止信号
7BUSSIGBUS终止(核心转储)访问内存对象的未定义部分
8FPESIGFPE终止(核心转储)错误的算术运算
9KILLSIGKILL终止强制终止(不能被抓住或忽略)
10USR1SIGUSR1终止用户定义的信号1
11SEGVSIGSEGV终止(核心转储)无效的内存引用
12USR2SIGUSR2终止用户定义的信号2
13PIPESIGPIPE终止写在没有人阅读的管道上
14ALRMSIGALRM终止警报
15TERMSIGTERM终止终止信号
16STKFLTSIGSTKFLT 堆栈故障
17CHLDSIGCHLD忽略子进程已终止,停止或继续
18CONTSIGCONT继续如果停止,继续执行 'fg/bg’
19STOPSIGSTOP停止停止执行(无法捕获或忽略) ‘Ctrl Z’
20TSTPSIGTSTP停止终端停止信号 ‘Ctrl Z’
21TTINSIGTTIN停止后台进程尝试读取
22TTOUSIGTTOU停止尝试写入的后台进程
23URGSIGURG忽略套接字可提供高带宽数据
24XCPUSIGXCPU终止(核心转储)超出CPU时间限制
25XFSZSIGXFSZ终止(核心转储)超出文件大小限制
26VTALRMSIGVTALRM终止虚拟计时器已过期
27PROFSIGPROF终止分析计时器已过期
28WINCHSIGWINCH忽略终端窗口大小已更改
29POLLSIGPOLL终止可轮询的事件
30PWRSIGPWR 电源故障
31SYSSIGSYS终止(核心转储)系统调用错误

默认操作行动解释:
终止  - 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*!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值