Bash

.sh 文件上傳後被 sftp 使用,無法執行

  • October 15, 2020

我正在使用 mobaxterm 進行 ssh/ftp 訪問。我首先創建一個文件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 程序使用。這是正常行為嗎?如何解決這個問題並執行我的腳本?

您的文件正在被 ftp 使用,我認為您的自動化不會在上傳後終止 ftp,因此連接保持打開狀態(這就是為什麼看起來文件正在被其他程序使用。您可以kill在 ftp 程序上執行正在佔用您的文件或修復您的自動化,因此它會在上傳後終止連接。

引用自:https://unix.stackexchange.com/questions/322481