runit: 进程管理工具runit

Tags: manual 

目录

说明

runit是一组程序,可以用来引导系统、启动监督服务、记录服务日志等。

使用了runit的操作系统:

Debian GNU/Linux (as alternative init scheme)
FreeBSD
OpenBSD
NetBSD
Ubuntu (as alternative init scheme)
Gentoo
Linux from Scratch
Finnix
SME server
Linux-VServer
T2
GoboLinux
Dragora GNU/Linux (as default init scheme)
ArchLinux
OpenSDE
Zinux Linux (as default init scheme)
deepOfix Mail Server (as default init scheme)
Void Linux (as default init scheme) 

runsvdir

runsvdir是runit中一个程序,用来启动监督服务。

runsvdir [-P] dir [ log ] 

runsvdir加载指定目录的子目录中的服务文件,并调用runsv将服务启动。

runsv

runsv命令用来启动并监督服务。

runsv service

service必须是一个目录,runsv进入目录中,执行./run

./run退出后,如果存在./finish,执行./finish,然后重新执行./run,否则直接执行./run。

如果./run和./finish立即退出,runsv等待1秒后,再启动./finish ./run。

runsv会向./finish传入两个参数:

参数1,./run的exit code,-1,非正常退出,0,正常退出
参数2,waitpid获取的退出状态,

如果目录中有down文件,runsv不重新启动./run。

如果目录中有log目录,runsv创建一个pipe,./run和./finish的标准输出重定向到pipe,然后启动log/run,log/run将pipe作为标准输入。

runsv将服务的状态保存在supervise目录中,其中status文件是二进制格式的,其它文件是文本格式的。

svlogd

svslogd持续的从标准输入读取数据,然后将读取的数据写入到指定的目录中。

svlogd [-tttv] [-r c] [-R xyz] [-l len] [-b buflen] logs

参考

  1. runit
  2. runsvdir
  3. runsv
  4. svlogd

推荐阅读

Copyright @2011-2019 All rights reserved. 转载请添加原文连接,合作请加微信lijiaocn或者发送邮件: [email protected],备注网站合作

友情链接:  系统软件  程序语言  运营经验  水库文集  网络课程  微信网文  发现知识星球