我有一个curl命令,可以启动以启动或停止进程。运行脚本以启动/停止服务时脚本可以按预期工作,但是当进程已经启动并且我尝试启动它时,它将引发异常再次。我怎样才能优雅地退出?
脚本:
x=$1
action=`echo "$x" | tr '[:upper:]' '[:lower:]'`
y=$2
#echo "ID passed is $y"
echo $action"ing the process..."
curl -s -S -k -u user:pass -X PUT https://URL/$action || exit 1
如果进程已停止/启动,则它将起作用。当我尝试启动已经处于“已启动”状态的进程时,会发生问题。
用法:./abc.sh start/stop 12345
错误消息是:
HTTP 409: Conflict
org.apache.juneau.rest.RestException: Action START cannot be performed for application instance TechDev2 (fadc6b5c-782a-46a1-bf46-21f331f669c0) because its state is STARTED.
at com.platform.vem.gui.web.rest.EgoRestCallHandler.renderError(EgoRestCallHandler.java:60)
at com.ibm.asc.ascd.core.rest.api.ConductorRestCallHandler.renderError(ConductorRestCallHandler.java:79)
at org.apache.juneau.rest.RestCallHandler.handleError(RestCallHandler.java:273)
at org.apache.juneau.rest.RestCallHandler.service(RestCallHandler.java:189)
答案 0 :(得分:0)
您可以采取一些有帮助的措施:
在重新启动之前,请检查该进程是否已在运行。
使用ps -ef|grep <process>
启动/停止该过程时,请使用
$?
获取退出状态 并用它来设计流程。