linux – “monit restart”我怎么知道什么时候重新启动?

我们的系统管理员最近切换到使用monit,所以现在当我想重新启动服务时,我应该使用“monit restart< servicename>”而不是“/etc/init.d/\u0026lt;servicename\u0026gt; restart”.

但是,monit命令在成功时不产生输出并立即返回.似乎它实际上没有重新启动,直到下一个循环.

我正在重新启动服务,因为我进行了更改.我不想测试我对旧实例的修改.所以我需要知道什么时候重新启动完成.我也会喜欢它在重新启动时,我告诉它,而不是当它到达它.我不喜欢输入“ps aux | grep< myservicename>”一次又一次的等待.

有没有办法使monit立即重启我的服务?

有没有办法让monit或围绕monit封装,阻止直到重新启动完成?

有没有办法让monit告诉我重启是成功的,否则它失败了?

解决方法

Monit是一个非常沉的程序!事实上,monit命令往往运行并立即退出,因为它们在后台运行!如果要查看Monit正在做什么,请使用-v开关,如果您希望在前台运行,则会拖尾日志文件和-I.

同步重新启动

使用-I option

monit -I restart servicename

这将禁止在背景中重新启动,例如需要你的电脑开机!

如果要诊断问题,请添加详细选项-v:

monit -Iv restart servicename

状态检查

要检查结果,您可以尝试几件事情:

1)monit返回值

monit -I restart servicename
echo $?

通常,$?成功后应为零,否则为零.但是,程序不支持它,manpage没有关于monit退出状态($?)的信息.尝试测试它.

2)使用状态或摘要命令

monit -I status

要么

monit -I status servicename

要么

monit -I summary

这些命令将返回输出的状态.您可以选择最适合您的命令并解析其输出.或者,如第1点),检查返回值$? (在联机帮助页中没有提到).

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...