fuser - 识别文件和设备的用户
/usr/sbin/fuser [-c | -d | -f] [-nu] [-k | -s sig] files [ [-] [-c | -d | -f] [-nu] [-k | -s sig] files] ...
The fuser utility displays the process IDs of the processes that are using the files specified as arguments.
每个进程 ID 后面跟有一个字母代码。字母代码的解释如下所述。如果进程将文件用作
表示此进程正在使用该文件作为其当前目录
表示此进程正在监视文件的各文件事件。有关更多信息,请参见 port_associate(3C) 手册页
表示此进程正持有针对该文件的非阻塞强制性锁定
表示此进程正在将该文件作为打开的文件使用
表示此进程正在将该文件用作其根目录
表示此进程正在将该文件用作其文本文件
表示此进程正在将该文件用作其控制终端
对于具有已挂载文件系统的块特殊设备,将列出使用该设备上的任何文件的所有进程。对于所有类型的文件(文本文件、可执行文件、目录、设备,等等),只会报告使用该文件的进程。
对于所有类型的设备,fuser 还会显示打开设备的任何已知内核使用者。内核使用者显示为下列格式之一:
[module_name] [module_name,dev_path=path] [module_name,dev=(major,minor)] [module_name,dev=(major,minor),dev_path=path]
如果指定了多组文件,可能需要为其他每个文件组重新指定选项。单个短划线可取消当前施行的选项。
各个进程 ID 输出到标准输出中的单个行上,并以空格分隔。所有其他输出(包括单个终止换行符)均被写入到标准错误。
Any user can run fuser, but the {PRIV_PROC_OWNER} privilege is required to send a signal to another user's process.
支持以下选项:
报告用作文件系统的挂载点的文件,以及该已挂载文件系统内的所有文件。
报告与指定的次要节点绑定到同一设备节点的所有次要节点的设备使用信息。此选项不报告已挂载文件系统内的文件的文件使用情况。
为指定的文件列显报告,而不是已为挂载文件系统内的文件列显报告
Equivalent to –s KILL or –s 9.
阻止解析目标文件的符号链接
只列出具有针对文件的非阻塞强制性锁定的进程
向每个进程发送信号。The sig option argument specifies one of the symbolic names defined in the <signal.h> header, or a decimal integer signal number.如果 sig 是一个符号名称,识别它时将不区分大小写,且没有 SIG 前缀。不会向内核文件使用者或文件事件监视器发送信号。For more information, see the kill(2) and signal.h(3HEAD) man pages.
在进程 ID 后面的圆括号中显示用户登录名。
以下示例将报告已挂载文件系统内的挂载点和文件。
example% fuser -c /export/foo示例 2 在报告挂载点和文件时对输出进行限制
以下示例将报告已挂载文件系统内的挂载点和文件,但将输出限制为持有非阻塞强制性锁定的那些进程。
example% fuser -cn /export/foo示例 3 向持有非阻塞强制性锁定的进程发送 SIGTERM
以下命令向持有针对文件 /export/foo/my_file 的非阻塞强制性锁定的所有进程发送 SIGTERM。
example% fuser -fn -s term /export/foo/my_file
See environ(7) for descriptions of the following environment variables that affect the execution of fuser: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES, and NLSPATH.
有关下列属性的说明,请参见 attributes(7):
|
pfiles(1), ps(1), kill(2), mmap(2), port_associate(3C), signal(3C), signal.h(3HEAD), attributes(7), environ(7), privileges(7), standards(7), mount(8)
因为 fuser 使用系统映像的快照,所以它可能会漏掉在 fuser 运行期间开始使用某个文件的进程。另外,被报告为正在使用某个文件的进程在 fuser 运行期间可能已停止使用该文件。考虑到这些因素,不鼓励使用 –k 选项。