我有執行以下命令的 bash 腳本
nohup ws --port 8080 &
直接在遠端伺服器上執行該腳本並關閉連線時 - 進程仍然存在。但是當我使用 Jenkins“SSH 插件”時 - Jenkins 關閉連接後進程停止。要執行該腳本,我使用簡單的命令 sh scriptName.sh
答案1
最好的簡單解決方案是使用“at now”而不是“nohup”
在你的工作 jenkins (執行 shell)中輸入:
set +e #so "at now" will run even if java -jar fails
#Run java app in background
echo "java -jar $(ls | grep *.jar | head -n 1)" | at now + 1 min