请注意,这是一个FreeBSD问题,而不是 Linux 问题。请不要回答它将如何在 Linuxsystemd或任何其他平台上完成。
我遇到了memcached崩溃的情况。这不是可重复的,我最终会弄清楚的。与此同时,我需要确保它memcached正在运行。如果不是,我需要重新启动它。它通过安装pkg和启动通过/usr/local/etc/rc.d/memcached。有几个选择。
cron. 有点丑,但会工作。这里的主要事情是我需要去写那个脚本。调用service memcached status,评估结果,也许调用service memcached start。我知道怎么写,但看起来很笨拙。我宁愿只使用一种已经存在的机制。do ... until循环脚本。然后我可以修改/usr/local/etc/rc.d/memcached. 但我想保留由包 pristine 安装的文件。我不想在每次升级包时都保留我的更改。/usr/local/etc/periodic.d/hourly并由periodic(8).是否有一些简单的、FreeBSD 原生的机制,我不考虑保持进程运行?或者我只是想多了,我应该去写我的 8 行脚本并开始调用它cron?
您正在寻找的称为supervisor。我不认为 FreeBSD 自带一个开箱即用的。但是在港口有一些。我至少看到了;
py-supervisor的端口使用(该端口有多种风格,安装时使用pkg install py37-supervisor或与您的 Python 版本匹配的任何内容)。fsc.我建议supervisord。安装包并添加一个节到/usr/local/etc/supervisord.conf:
[program:memcached]
command=/usr/local/etc/rc.d/memcached
Run Code Online (Sandbox Code Playgroud)
要在启动时运行 supervisord,请编辑/etc/rc.conf或/etc/rc.conf.local拥有该行
supervisord_enable="YES"
Run Code Online (Sandbox Code Playgroud)
无论您选择哪个主管,请确保禁用直接启动memcached.
| 归档时间: |
|
| 查看次数: |
452 次 |
| 最近记录: |