Linux /usr/bin/perl:解释器错误:文本文件忙

Linux /usr/bin/perl:解释器错误:文本文件忙,linux,perl,interpreter,ubuntu-9.04,Linux,Perl,Interpreter,Ubuntu 9.04,这对我来说是一个新的错误:这个错误表明了什么 /usr/bin/perl: bad interpreter: Text file busy 当时运行了几个磁盘密集型进程,但我以前从未看到过这条消息事实上,这是我第一次记得在尝试运行Perl脚本时出错。经过几秒钟的等待,我能够运行它,从那以后就再也没有看到过这个问题,但是如果能对此有一个解释就好了 运行Ubuntu9.04,文件系统是ext3 这总是与perl解释器(/usr/bin/perl)不可访问有关。事实上,当shell脚本正在运行或

这对我来说是一个新的错误:这个错误表明了什么

  /usr/bin/perl: bad interpreter: Text file busy
当时运行了几个磁盘密集型进程,但我以前从未看到过这条消息事实上,这是我第一次记得在尝试运行Perl脚本时出错。经过几秒钟的等待,我能够运行它,从那以后就再也没有看到过这个问题,但是如果能对此有一个解释就好了


运行Ubuntu9.04,文件系统是ext3

这总是与perl解释器(/usr/bin/perl)不可访问有关。事实上,当shell脚本正在运行或awk或#上的任何内容时,就会发生这种情况!脚本顶部的行

原因可能有很多。。。perms、锁定文件、文件系统脱机以及on和on

这显然取决于问题发生时您运行它的确切时刻发生了什么。但我希望答案就是你想要的。

我猜你遇到了

如果您的Perl脚本(或任何其他类型的脚本)在尝试执行时处于编写打开状态,Linux内核将生成一个
错误解释器:文本文件忙
错误


您没有说磁盘密集型进程在做什么。是否有可能其中一个将脚本打开以进行读写访问(即使它实际上没有写入任何内容)?

如果脚本是在Windows或任何其他具有不同“本机”行结尾的操作系统中编辑的,那么它可以像在第一行结尾处进行
CR(^M)
隐藏一样简单。Vi可以设置为隐藏此非本机行结尾。在我的例子中,我只是在VI中重新键入了有问题的第一行,错误就消失了。

如果您正在使用gnu parallel,并且您看到了这个错误,那么可能是因为您正在从写入文件的同一位置导入文件…

发生这种情况是因为脚本文件已打开进行写入,可能由尚未终止的恶意进程执行

解决方案:检查仍在访问该文件的进程,并终止它

例如:

在脚本名称上运行lsof(列出打开的文件命令):

# lsof | grep updater.pl
sftp-serv 4416            root    3r      REG            144,103    11043   33046751 /root/wordpress_plugin_updater/updater.pl
通过其PID终止进程:

kill -9 4416
现在再次尝试运行脚本。现在可以了

# /root/wordpress_plugin_updater/updater.pl --wp-path=/www/htdocs
Wordpress Plugin Updater script v3.0.1.0.
Processing 24 plugins from

我也遇到了同样的问题,我正在用grepping查看文件的使用情况,但没有用。原来我只需要重新启动droplet,viola脚本现在就可以工作了。

错误消息“text file busy”有一个特定的含义,不会由您提到的任何问题引起。@Daskwuff,想详细说明一下吗?你能和我们分享你的智慧吗?(顺便说一句,我的研究正好说明了我所分享的内容)。@Daskwuff具体含义正是这个答案所描述的。自己试试——打开/usr/bin/perl进行append,并尝试运行一个perl脚本。是的,“文本文件”有点误导,但这就是几十年来错误被标准化的原因。这听起来很合理-我正在编写脚本,这发生在我保存它并尝试运行它的时候。所以可能“磁盘密集型进程”没有直接对您的脚本做任何事情,但它让磁盘忙得够呛,以至于您在写脚本时暂停,并将其打开几秒钟。这正是我所想的——在任何情况下似乎都是有意义的。这可能意味着要么脚本正在被写入,要么解释器本身正在被写入——在任何情况下都会发生相同的错误。谢谢。一位同事也有同样的问题。事实证明,他用来将脚本上传到服务器的图形FTP客户端仍然掌握着这些文件。一旦我关闭了FTP连接,我就可以运行脚本了。
# /root/wordpress_plugin_updater/updater.pl --wp-path=/www/htdocs
Wordpress Plugin Updater script v3.0.1.0.
Processing 24 plugins from