Answers:
您正在寻找程序daemontools。(如果这是“主管”监视器的意思,请随时忽略我的其余回答。)
daemontools是用于管理UNIX服务的工具的集合。
监督监视服务。它启动服务,如果服务终止,则重新启动服务。设置新服务很容易:所有监管需求是一个带有运行该服务的运行脚本的目录。
multilog将错误消息保存到一个或多个日志。它可以选择为每行添加时间戳,并为每个日志添加或排除与指定模式匹配的行。它会自动旋转日志以限制使用的磁盘空间量。如果磁盘已满,它将暂停并重试,而不会丢失任何数据。
它简单,灵活且功能强大。基本思想是,对于每个要运行的服务,daemontools启动一个子进程(称为supervise
),然后启动您的服务。supervise
配置服务的环境变量和uid / gid,然后保持服务的标准输入和标准输出打开,以便可以发送信号。该服务不需要自行守护,也不必管理pid文件。主服务不需要root即可运行,您可以将受监视服务的目录放在任何位置。
runit
将替代daemontools。这也是非常简单和低级的。基本上,运行过程所需的只是一个包含一些exec命令的文件,例如,exec sleep 300
然后从包含运行脚本的目录创建一个符号链接,然后/etc/service/name
完成。