web-dev-qa-db-ja.com

悪い通訳:テキストファイルがビジー

何年もの間、私は「vi」でPerl CGIスクリプトを編集し、同時にブラウザを開いてそれらをテストすることに慣れてきました。最近、これを行うと「500」のサーバーエラーが発生し、シェルからスクリプトを実行すると、「不正なインタープリター:テキストファイルがビジーです」というエラーが発生します。唯一の解決策は、スクリプトをテストしたいときはいつでも「vi」を終了することです。これは非常に苦痛であり、shouldはまったく不要です。どうしたの?私はDebianサーバーを実行していますが、これは定期的に更新されており、いわゆる「アップグレード」から始まったと思います:)

6
JoelFan

この問題 が発生しているようです。これは、ある時点でnviがファイルを開き始めたためですO_RDWR の代わりに O_RDONLY

viが実際にnviである場合は、別のvi、たとえばvimを使用してみます。

15
chaos

それは奇妙です。更新する前に書いていますか?

また、ファイルを開いているときにファイルを「猫」にすることはできますか?

0
Matt Simmons

CGIを編集するときにこれに遭遇します...

#!通訳者の行はどういうわけかCtrl-Mを取得します
実行可能ファイルのレンダリングが見つかりません。

これはPerlエラーのように見えますが、実際には「she-bang」インタープリター行であり、最後に「ほとんど」見えない文字があります。

私たちの場合、ファイルが書き込まれた後にこれを見つけました。 dos2unixコマンドを使用して別の名前にコピーし、それを押してみてください。それが機能する場合、あなたはあなたの根本的な原因を見つけました。

申し訳ありませんが、問題が発生したときにそれを認識する以外に、実際の回避策はありません。

--edit--通常、エラーメッセージは次のとおりです。scriptname:ファイルが見つかりません質問で言及されている「ファイルビジー」ではありません。

0
ericslaw