刚好今天用到Deamontools,顺便学习一下。。。。感觉自己Linux也不行。。。。。加油
[转载于]http://blog.youkuaiyun.com/sywhale/article/details/808005
如大家对其使用有什么疑问的话,欢迎和我一起讨论

1.何谓daemontools daemontools是一个管理UNIX下服务的工具集。 supervise监视一个服务。它启动一个服务、当服务停掉时它会重起 服务。安装一个supervise是极其简单的,你仅仅需要一个包含运行服务 的脚本的目录。 multilog保存报错信息和一个或多个log。它可以随意的加上时 间戳,对于每个log可以设定任意一行是否符合预定样式。他可以循环的纪 录log以限制磁盘空间的使用。当磁盘空间不足时,它会停止并重试,而不 会丢弃任何信息。 2.与其他服务管理工具的比较 为什么/service要比inittab、ttys、init.d、rc.local这些管理工具好呢? 为什么我的服务要依赖svscan和supervise? 看下表:
inittab | ttys | init.d | rc.local | /service | |
---|---|---|---|---|---|
Easy service installation and removal | No | No | Yes | No | Yes |
Easy first-time service startup | No | No | No | No | Yes |
Reliable restarts | Yes | Yes | No | No | Yes |
Easy, reliable signalling | No | No | No | No | Yes |
Clean process state | Yes | Yes | No | No | Yes |
Portability | No | No | No | No | Yes |
Easy service installation and removal: 如果使用/service和init.d,那么安装你自己要管理的服务仅需要你连接一些文件到 一个核心目录,而卸载只需要删除这些文件。这很容易用脚本来实现。而使用inittab、ttys、 rc.local却需要你编辑一些特定的配置文件,这不利于自动安装的实现。 Easy first-time service startup: 使用/service时,当你安装好一个要服务后,5秒后它即会自动运行。 而inittab、ttys、init.d、rc.local却需要额外的命令。 Reliable restarts: 当使用/service、inittab、ttys时,每当你的伺服器死掉时,它马上就会重起。 相对的在init.d、rc.local中,你的伺服器并不被监视,所以你的服务停止后, 在发现后只用以手工的方式重起它。 Easy, reliable signalling: 使用/service时,系统管理员可以方便的以svc来控制你的服务:
- svc -h /service/yourdaemon: sends HUP
- svc -t /service/yourdaemon: sends TERM, and automatically restarts the daemon after it dies
- svc -d /service/yourdaemon: sends TERM, and leaves the service down
- svc -u /service/yourdaemon: brings the service back up
- svc -o /service/yourdaemon: runs the service once
相对的,在使用inittab、ttys、init.d、rc.local时,你只能查找服务的进程 ID来向它发送信号,但这是不可靠的。 Clean process state: 在使用/service、inittab、ttys时,当你重新启动一个服务时, 在启动过程中,服务也重新初始化一个新的进程状态。 而在init.d和rc.local中,你不得不自己去清理一些资源, 如改变环境变量、释放占用的资源、ttys(Limits certain accounts to physically secure areas)。 而如果不清理这些,则你的服务会莫名其妙的启动不起哩。 Portability: 使用/service你配置可以复制到任何其它的系统如linux、BSD等,而不需要更改。 而inittab、ttys、init.d、rc.local对于不同的系统,可能需要做一些额外的工作。 3.how to install it 3.1.系统要求 UNIX 3.2.installation 创建目录/package: mkdir -p /package chmod 1755 /package cd /package 下载daemontools-0.76.tar.gz到/package并解压: gunzip daemontools-0.76.tar tar -xpf daemontools-0.76.tar rm daemontools-0.76.tar cd admin/daemontools-0.76 编译和安装: package/install 安装成功的报告: mail djb-sysdeps@cr.yp.to < /package/admin/daemontools/compile/sysdeps