Linux fuser

哈哈哈 · 2021年09月17日 · 557 次阅读

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

命令作用
有三种解释

使用文件或 socket 识别进程
显示哪些进程使用命名文件、socket 或文件系统
显示使用指定文件或文件的进程的 pid 系统
总的来说就是文件 + 进程

语法格式
fuser [-fMuvw] [-a|-s] [-4|-6] [-c|-m|-n SPACE] [-k [-i] [-SIGNAL]] NAME...

参数列表
参数 作用
-a,--all 显示未使用的文件
-i,--interactive 杀死前的交互式询问(忽略而不使用-k)
-k,--kill 终止访问命名文件的进程
-l,--list 列出可用的信号名称
-m,--mount 显示使用命名文件系统或块设备的所有进程
-M,--ismountpoint 仅当 NAME 是挂载点时满足请求
-n,--namespace 在此名称空间中搜索命名空间(文件、udp 或 tcp)
-s,--silent 静默操作
-SIGNAL 发送这个信号而不是 SIGKILL
-u,--user 显示用户 ID
-v,--verbose 详细输出
-w,--writeonly 杀死具有写访问权限的进程
-V,--version 版本信息
-4,--ipv4 搜索 ipv4 socket
-6,--ipv6

搜索 ipv6 socket

  • reset 重置 不会所有参数都讲

基础用法
fuser /root

PID 后跟的字符说明了进程以何种方式与该目录/文件关联

c 指示进程的工作目录
e 指示该文件为进程的可执行文件 (即进程由该文件拉起)
f 指示该文件被进程打开,默认情况下 f 字符不显示
F 指示该文件被进程打开进行写入,默认情况下 F 字符不显示
r 指示该目录为进程的根目录
m 指示进程使用该文件进行内存映射,抑或该文件为共享库文件,被进程映射进内存
. 占位符,默认显示模式中省略

详细输出
fuser -v /root

杀掉进程
fuser -k /dev/pts/0

这是断开本地 ssh 连接阿里云服务器的终端

杀掉进程并询问
fuser -v -i -k /dev/pts/0

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册