今天做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 &"