如何使用Linux命令fuser强制终止占用特定目录的所有进程?

2026-04-24 16:421阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计855个文字,预计阅读时间需要4分钟。

如何使用Linux命令fuser强制终止占用特定目录的所有进程?

当某个目录被进程占用(例如卸载+/mnt/data+报错+device is busy)时,可以使用ps或lsof查询,但需要手动过滤路径、连接PID,然后+kill -9。这样做可能漏掉子进程或线程。专门针对这类场景的设计:

fuser -v /path 查看谁在用这个目录

-v(verbose)是安全前提,必须先执行,否则可能误杀:

  • fuser -v /mnt/backup 会列出所有访问该路径的 PID、用户、命令、访问类型(cwd 表示当前工作目录,fd 表示打开的文件描述符,root 表示 chroot 目录)
  • 注意输出中带 * 的行——那是内核线程或无法获取命令名的进程,通常可忽略;重点看普通用户进程
  • 如果看到 bash 进程的 cwd 是该目录,说明有人正 cd 在里面;python3fd 指向某日志文件,则说明程序正在写入

fuser -k -i /path 安全强制终止

确认无误后才执行终止。

阅读全文
标签:Linux

本文共计855个文字,预计阅读时间需要4分钟。

如何使用Linux命令fuser强制终止占用特定目录的所有进程?

当某个目录被进程占用(例如卸载+/mnt/data+报错+device is busy)时,可以使用ps或lsof查询,但需要手动过滤路径、连接PID,然后+kill -9。这样做可能漏掉子进程或线程。专门针对这类场景的设计:

fuser -v /path 查看谁在用这个目录

-v(verbose)是安全前提,必须先执行,否则可能误杀:

  • fuser -v /mnt/backup 会列出所有访问该路径的 PID、用户、命令、访问类型(cwd 表示当前工作目录,fd 表示打开的文件描述符,root 表示 chroot 目录)
  • 注意输出中带 * 的行——那是内核线程或无法获取命令名的进程,通常可忽略;重点看普通用户进程
  • 如果看到 bash 进程的 cwd 是该目录,说明有人正 cd 在里面;python3fd 指向某日志文件,则说明程序正在写入

fuser -k -i /path 安全强制终止

确认无误后才执行终止。

阅读全文
标签:Linux