.sh ファイルはアップロード後 sftp で使用され、実行できません。

.sh ファイルはアップロード後 sftp で使用され、実行できません。

SSH/ftp アクセスに mobaxterm を使用します。まずファイルを作成しますtest.sh。その後、ファイルを編集して保存します(自動的にアップロードされます)。今はい

chmod 755 test.sh

それから実行しようとしまし./test.shたが、

-bash: ./test.sh: Text file busy

私は走ってlsof次の行を見つけました。

sftp-serv 1526                  root    3w      REG              253,1        0     919981 /root/test.sh

私はこれがファイルがftpプログラムによってまだ使用されていることを意味すると思います。これは正常な行動ですか?この問題を解決してスクリプトを実行するにはどうすればよいですか?

答え1

あなたのファイルはftpで使用されています。自動化がアップロード後にftpを終了しないように見えるため、接続は開かれています(これがファイルが他のプロセスで使用されているように見える理由です。ftpkillプロセスで実行できます)。ファイルを使用しているか、自動化を変更してアップロード後に切断されます。

関連情報