今天做jenkins任務的時候,發現一個啟動后,一直卡住,在那轉圈圈,其實這個時候,任務已經執行完了。
經過分析,因為這個任務是啟動一個web服務,直接在機器上執行時,直接占用一個終端。
解決辦法,放后台執行就可以了,nohup cmd &
案例
#!/bin/sh
echo ${ServerParam}
workdir=/usr/local/app/webfx/${ServerParam}
echo "workdir:$workdir"
ssh root@211.*.*.114 "cd $workdir; sh -x ./stop-${ServerParam}.sh" &&\
ssh root@211.*.*.114 "cd $workdir; sh -x ./release-${ServerParam}.sh" &&\
# 占用一個終端, 放后台執行就可以了,nohup cmd >/dev/null &
ssh root@211.*.*.114 "cd $workdir; nohup sh ./start-${ServerParam}.sh >/dev/null &"