salt -L servers state.apply tomcat.fullstart concurrent=True
deploy_pid=$!
exit_code=$?
[ $exit_code -ne 0 ] && echo "An error occured during applying tomcat salt state" && exit $exit_code
wait $deploy_pid
字符串
我想得到第一个salt命令的退出代码,上面我认为退出代码来自deploy_pid=$!,而不是来自第一个salt命令。我还需要salt命令pid,所以等待它。
我该怎么做?谢谢
1条答案
按热度按时间uelo1irk1#
您没有在后台运行
salt
,因此deploy_pid=$!
没有意义。如果你在后台运行它,你不能在
wait
之前检查它的退出状态,因为它必须首先退出。所以操作的顺序需要是:1.使用
&
在后台运行salt
1.保存其PID
1.在未来的某个时候,
wait
1.获取
wait
的退出状态字符串
此外,作为一个结束的想法,如果你要后台处理一个进程,然后立即等待它,那么也许你根本不需要后台处理它,除非你真的需要知道它运行的PID。
如果你不需要背景知识,这样的事情会更简单:
型