我试图找到最简单、最简单的方法来监控 Tor 进程是否正在运行。
我想到的想法非常简单,并且每分钟都会通过 cron 检查一次。
此练习背后的原因是由于某些主机分配的资源相当紧张,从而杀死(即 OOM-killing)Tor 进程,这意味着我必须手动重新连接断开的服务器。
我实际上只是假设该进程由于资源耗尽而被终止。也可能是其他东西。我将在稍后阶段更深入地调查这一点,但现在我只需要一个快速而肮脏的临时“解决方案”,该解决方案在发现进程已被停止/终止后重新启动该进程。
所以,现在我提出的“修复”:
#!/bin/bash
if /bin/ps aux | grep /usr/bin/tor >/dev/null
then
echo "Tor is running. Exiting."
exit 0
else
echo "Tor is not running. Reloading daemon(s)."
service tor restart
exit 1
fi
我将其命名为“tor-monitor.sh”,并创建了一个每分钟检查一次的 crontab 条目,仅此而已。
这似乎正在工作。但我确信必须有更好的方法来做到这一点。请记住,我不想让事情变得臃肿,也不想让事情复杂化,保持简单。
大家有更好的解决方案吗?如果你这样做,请发帖,我会尝试一下。
答案1
系统的服务管理器(例如systemd
)应该已经在进行这种健康检查和自动修复。如果您的系统没有使用systemd
,请考虑使用轻量级监督系统,例如runit
。