1 問題
在服務器上停掉jar包服務後,重新開始服務時報如下錯誤:
-bash: /xxx/appService.jar: bad interpreter: Text file busy
2 原因
在執行service appService stop 時,本意是節省時間,在服務還未完全停止時,就通過ftp替換對應的jar包,此時ftp上傳jar包處於阻塞狀態,當時不明所以,就停止上傳文件,但此時ftp客戶端就處於刷新狀態,所以就重開了一個ftp客戶端,重新上傳了一個jar包文件,但再開啓服務時就報了 “Text file busy” 的錯誤。
3 解決
使用 fuser 服務名稱 命令(需要在root用戶下執行)可以查看對應的服務進程號,然後關閉該進程:
# fuser appService
appService: 2476
# kill -9 2476