.sh文件上传后被sftp使用,无法执行

.sh文件上传后被sftp使用,无法执行

我使用 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 程序仍在使用该文件。这是正常行为吗?我该如何解决这个问题并运行我的脚本?

答案1

您的文件正在被 ftp 使用,我认为您的自动化在上传后不会终止 ftp,因此连接保持打开状态(这就是为什么它看起来像文件正在被其他进程使用。您可以kill在 ftp 进程上运行正在占用您的文件或修复您的自动化,因此它会在上传后终止连接。

相关内容