我有执行下列操作的 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