文件保存时出错:"打开输出文件:资源暂时不可用"

时间:2014-10-07 21:45:17

标签: linux ubuntu ubuntu-12.04

大约10%的时间,当我尝试在Emacs中保存文件时,出现以下错误:

Opening output file: resource temporarily unavailable, 

我目前正在使用Emacs GNU Emacs 24.3.1(x86_64-pc-linux-gnu,GTK +版本3.4.2) Ubuntu 12.04。我还验证了此问题是以其他用户身份登录并使用Emacs 23.3.1。

当我进行修复,尝试保存,然后想知道为什么我的修复没有发生时,这个问题真的很痛苦......后来才发现Emacs保存从未成功过。 如果我发现它发生了,我会一直按Ctrl-x Ctrl-s直到保存实际执行(需要几次)。

有谁知道为什么会发生这种情况以及如何预防?

更新: (每个请求更多信息)

  • 我目前正在使用Ruby on Rails项目,并且在编辑各种文件类型时遇到错误* .rb,* js.coffee,* js.erb,* html.erb等< / LI>
  • 我收到错误的文件始终是我的机器本地的文件。我还没有测试过远程文件。
  • 如果我查看* messages buffer,每次出现错误消息时,错误都会以:save-buffer-2
  • 为前缀

更新2: 多个用户在多个Emacs版本中遇到问题。

更新3: 这似乎不是Emacs特定的问题,因为我现在偶尔会出现#34;无法保存&#34;尝试在Sublime-text编辑器中保存文件时弹出窗口。

1 个答案:

答案 0 :(得分:1)

这可能是来自emacs(M-x report-emacs-bug)的错误,您的文件系统存在一些问题(我认为情况并非如此,因为您很可能检查了其他编辑器是否出现问题),或者您当地的某些进程设置弄乱你的文件。

如果测试后者是否属于这种情况,您可以尝试对此进行评估,然后重现问题:

(defadvice save-buffer (around find-shenanigan activate)
  (condition-case ()
      ad-do-it
    (error
     (shell-command (format "lsof -V %s" (buffer-file-name)) "*debug-issue*"))))

这样做的每次保存操作失败时,它都会执行一个命令,用于记录打开文件的进程。如果您看到任何流程,您就知道谁在调查。男人lsof将帮助细节。

注意:问题是否也发生在emacs -Q?

编辑:如果您可以使用没有密码的sudo(/ etc / sudoers中的NOPASSWD),请将“lsof”替换为“sudo lsof” 编辑:我将lsof的输出重定向到名为*debug-issue*的缓冲区;检查缓冲区是否有错误。