![创建等待启动/停止完成的脚本](https://linux22.com/image/223276/%E5%88%9B%E5%BB%BA%E7%AD%89%E5%BE%85%E5%90%AF%E5%8A%A8%2F%E5%81%9C%E6%AD%A2%E5%AE%8C%E6%88%90%E7%9A%84%E8%84%9A%E6%9C%AC.png)
我正在尝试为需要部署到远程服务器的应用程序创建构建脚本。该脚本需要关闭正在运行的 tomcat 实例,执行一些工作(复制/移动文件),重新启动 tomcat 实例,然后在第二个节点上重复该过程。
各个步骤非常简单。我所面临的困难是控制时间。我想确保在脚本开始移动文件之前 tomcat 应用程序服务器已完成关闭。我还想确保在第二个实例上开始关闭之前服务器已完成启动。
除了设置手动“等待”计时器之外,还有什么方法可以在 shell 脚本中执行此操作吗?
答案1
可用于systemctl
查询服务状态:
systemctl is-active tomcat.service
从手册
处于活动模式...
检查是否有任何指定的单元处于活动状态(即正在运行)。如果至少有一个处于活动状态,则返回退出代码 0,否则返回非零。除非指定 --quiet,否则这也会将当前单元状态打印到标准输出。
请注意,同一手册指出,systemctl status <unit>
明确依赖退出状态被认为是“不完美的”。