You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制清除/bin/bash: bad interpreter: Text file busy临时错误

问题根因与解决方案

你遇到的/bin/bash: bad interpreter: Text file busy是内核抛出的ETXTBSY错误,本质是内核判定你要执行的文件仍被进程以写入模式打开,为了避免执行到半写入的损坏内容,直接拒绝了执行请求。

即时清除错误的命令

不需要被动等待,执行以下命令即可1秒内恢复脚本执行:

  • 优先用刷缓存命令,无副作用,写完脚本直接带上执行即可:
sync -f /scripts/MyNewScript && bash /scripts/MyNewScript
  • 如果刷完缓存仍报错,直接清理该文件的所有残留占用句柄:
fuser -k /scripts/MyNewScript
sync -f /scripts/MyNewScript

问题根因说明

你看到的fuse.gvfsd-fuse相关提示只是lsof扫描不到普通用户的gvfs挂载点的警告,和本问题完全无关;NFS也不是诱因,你之前的怀疑只是场景巧合。
这个问题是Fedora 35默认搭载的5.14版本内核的已知bug:

  • 你保持编辑器打开的习惯本身没问题,但现在主流编辑器默认采用「原子保存」逻辑:保存文件时不会直接写入原文件,而是先生成临时文件写入完整内容,再通过rename操作覆盖原文件。5.14内核在处理这类rename操作时,存在概率性的写句柄泄漏问题,要等页缓存超时(数秒到数分钟不等)才会释放对应的写入锁,就会出现你遇到的时好时坏、等待时间不固定的报错。
  • 你二十多年使用Fedora没遇到过同类问题,是因为旧版本内核不存在这个bug,旧版本编辑器的保存逻辑也不会触发该泄漏。
  • 你执行lsof后很快恢复也只是巧合:lsof扫描文件时会触发inode引用计数刷新,刚好把内核泄漏的写句柄释放了。

永久修复方案

不需要重装系统或者降级内核,改两个配置即可彻底解决:

  1. 关闭编辑器的原子保存/备份文件功能
    • Vim用户在~/.vimrc中添加配置:set nobackup nowritebackup
    • Gedit用户在设置中关闭「保存前创建备份文件」选项
    • VS Code用户在设置中搜索files.useAtomicSave,将值改为false
  2. 调整内核参数规避句柄泄漏问题,执行以下命令立即生效,重启后配置永久保留:
echo 'fs.protected_regular = 0' >> /etc/sysctl.conf
sysctl -p

该配置仅关闭普通文件的特定写保护逻辑,对系统安全性无明显影响,桌面、服务器环境均可使用。


内容的提问来源于stack exchange,提问作者Richard T

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.31 11:06:33