"我怎么知道重启完成了?-6ren"> "我怎么知道重启完成了?-我们的系统管理员最近切换到使用 monit,所以现在当我想重新启动服务时,我应该使用“monit restart ”而不是“/etc/init.d/ restart” . 但是,monit 命令在成功-6ren">
gpt4 book ai didi

linux - "monit restart "我怎么知道重启完成了?

转载 作者:IT王子 更新时间:2023-10-29 00:26:37 32 4
gpt4 key购买 nike

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

但是,monit 命令在成功时不会产生任何输出并立即返回。似乎直到下一个周期之后它才真正重新启动。

我正在重新启动该服务,因为我对其进行了更改。我不想针对旧实例测试我的更改。所以我需要知道重启何时完成。我也希望它在我告诉它时重新启动,而不是在它绕过它时重新启动。我不喜欢在等待时一遍又一遍地输入“ps aux | grep ”。

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

有没有办法让 monit 或者 monit 的包装器阻塞直到重启完成?

有没有办法让 monit 告诉我重启成功,或者重启失败?

最佳答案

Monit 是一个非常安静的程序!事实上,monit 命令往往会立即运行并立即退出,因为它们在后台运行!所以...如果您想查看 Monit 在做什么,请使用 -v 开关,使用 tail -f 日志文件和 -I 如果你想让它在前台运行。

同步重启

使用 -I option :

monit -I restart servicename

这将禁止在后台重新启动,例如计算机启动时需要!

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

monit -Iv restart servicename

状态检查

要检查结果,您可以尝试几种方法:

1)monit的返回值

monit -I restart servicename
echo $?

通常,$? 在成功时应为零,否则为非零。然而,没有程序支持它,并且没有关于 manpage 的信息。 monit 的退出状态 ($?) 是什么。尝试对其进行测试。

2) 使用statussummary 命令

monit -I status

monit -I status servicename

monit -I summary

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

关于linux - "monit restart <service>"我怎么知道重启完成了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20713187/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com