Linux-fuser
Linux-fuser
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)
转载于:https://www.cnblogs.com/sztom/p/11082469.html
Linux-fuser相关推荐
- linux fuser 命令 查看文件/网络端口 被什么进程占用
linux环境下,当使用umount命令卸载挂载点时,会遇到"device is busy"提示,这时fuser就能查出谁在使用这个资源;当然umount –lf [挂载点] 也 ...
- linux fuser主机关闭,linux 下强制umount+Fuser命令详解
fuser -km /soft umount /soft Linux命令Fuser详解 使用文件或者套节字来表示识别进程.我常用的他的两个功能:查看我需要的进程和我要杀死我查到的进程比如当你想umou ...
- linux系统fuser命令,Linux fuser 命令详解
fuser命令小结 linux环境下,当使用umount命令卸载挂载点时,会遇到"device is busy"提示,这时fuser就能查出谁在使用这个资源;当然umount –l ...
- Linux fuser 命令详解------常用选项fuser功能使用
使用fuser命令结束一个文件的进程: 有时我们想卸载某个目录时发现一直处于busy状态,自己又不知道是什么时候占用的这是就可以用fuser来把访问这个目录的用户踢掉,实现卸载的目的,条件要在管理员用 ...
- Linux - fuser 命令
前言 之前连公司堡垒机的时候发现连不上,找运维排查是建立的链接数太多,很多超时链接没有断掉,导致不能再创建链接 此时,需要手动断开用户终端链接,然后百度搜到 fuser 可以断开用户终端链接 命令作用 ...
- Linux fuser
fuser 使用文件或文件结构识别进程 fuser命令用于报告进程使用的文件和网络套接字.fuser命令列出了本地进程的进程号. c: 指示进程的工作目录. e: 指示该文件为进程的可执行文件 f: ...
- linux系统fuser命令,Linux系统使用Fuser命令的方法
fuser命令是一个非常聪明的unix实用程序,用于查找正在使用某个文件.目录或socket的进程. 它还提供有关拥有该进程的用户和访问类型的信息..fuser工具显示了使用指定文件或文件系统的每个进 ...
- linux bin fuser,Linux中fuser命令用法详解
描述: fuser可以显示出当前哪个程序在使用磁盘上的某个文件.挂载点.甚至网络端口,并给出程序进程的详细信息. fuser显示使用指定文件或者文件系统的进程ID. 默认情况下每个文件名后面跟一个字母 ...
- Linux 强制卸载挂载点---fuser 命令详解
Linux fuser 命令详解 强制卸载挂载点 如果你的光盘挂载在/mnt/cdrom 使用umount /dev/cdrom提示busy 可以使用以下命令强行卸载. # fuser -km /mn ...
- linux挂载卸载不掉 umount target is busy
目录 问题描述 问题原因 方法一. 使用fuser命令处理 方法二.通过lsof命令处理 方法三.重启系统 问题描述 Linux下挂载后的分区或者磁盘某些时候需要umount的时候出现类似" ...
最新文章
- 麦克纳姆轮——机械部分
- 使用Spring操作Redis的key-value数据
- Oracle 11g R2安装过程中遇到的报错及解决办法
- [转]Google的C++代码规范
- 254. Factor Combinations
- 关于在node.js 中使用formData 发送axios上传文件失败解决方案
- 我的天!我靠这个拥有了自己第一架无人机!
- SPT20 协议_过户协议书模板五篇
- 【redis】mac安装redis
- mysql isolation_mysqltx_isolation
- 蓝桥杯 ADV-180 算法提高 陶陶摘苹果2
- 社团报名系统php,php85高校学生社团管理系统
- 方正字库中、英文、PS名称对照表
- 医学图像分割之肝脏分割(2D)
- 中国计算机展望未来,作文:展望未来中国的2025
- 目标检测中region proposal的作用?
- python 算24 代码
- 电脑端微信如何清空聊天记录
- (超详细)MapReduce工作原理及基础编程
- Android 开发者,你真的会用textview(maxEms和maxLength)的属性吗?
热门文章
- 大数据24小时:百度推出区块链项目“莱茨狗”,腾讯与阿斯利康合作共建医药打假平台
- 计算机毕业设计Javaweb开发数码产品推荐平台系统设计与实现(源码+系统+mysql数据库+lw文档)
- 图形界面介绍Attribute Editor
- 【随机共振】基于随机共振的高灵敏度GPS信号捕获算法
- python进程结束
- mysql 性能容量评估
- 苏大计算机专业课平均分,45所院校专业课均分出炉,想要上岸心仪院校你需要定位120分!...
- python2安装tensorflow,tensorflow 2.1.0 安装与实战教程(CASIA FACE v5)
- lumion无法启动因计算机丢失文件夹,我Win7打开Lumion10 丢失string.dll界面?
- 2022款联想小新Air14和Thinkbook14区别