我使用Jenkins作業來運行幾個簡單的shell命令(通過ssh,通過Jenkins SSH Plugin);這些命令都應該關閉正在運行的Tomcat服務器:Jenkins通過ssh殺死進程(Tomcat)
sudo /opt/tomcat/bin/catalina.sh stop
ps xu | awk '/[t]omcat/{print $2}' | xargs -r kill -9
的作業執行罰款,不終止Tomcat的,但不幸的是它也將失敗;完整的輸出是:
[SSH] executing pre build script:
sudo /opt/tomcat/bin/catalina.sh stop
ps xu | awk '/[t]omcat/{print $2}' | xargs kill -9
[SSH] exit-status: -1
Finished: FAILURE
任何想法爲什麼命令的退出代碼if -1?我已經嘗試了幾個變化,沒有任何運氣。
謝謝。
應該只有一個單一的Tomcat進程正在運行,並命令本身工作正常(和退出時0,而不是-1),如果它是由手跑了。另外,我向xargs添加了-r選項,以確保該命令在沒有輸入的情況下不會運行。 – Eugen