时间: 2018-02-23

传统标准 daemon 化

dpkg start-stop-daemon

shell 后台进程

tomcat 启动脚本 catalina.sh 使用 shell 后台进程启动 tomcat 服务器。

java ... ... &
CATALINA_PID="${!}" 
  • 简单常用。需要配合相关脚本代码进行管理,可参考 tomcat catalina.sh 脚本。
  • 可配合 nohup, setsid 等进行相关设置。

daemontools supervise

daemontools: http://cr.yp.to/daemontools.html

sudo aptitude install daemontools -y

s6 supervision

rancher 镜像使用了 s6.

s6: https://skarnet.org/software/s6/ s6 github: https://github.com/skarnet/s6

s6 做了许多很棒的工作, 还包含对 daemontools 及新出现的 upstart, systemd 等的功能和设计比较, 看起来非常棒。

python supervisor

docker 官方文档提到可使用 supervisor 进行多进程管理。

Supervisor: http://supervisord.org/

upstart

http://upstart.ubuntu.com/

ubuntu 开发的 init 进程, 曾在 ubuntu 12.04 及更早版本和 RHEL 6 广泛使用。

systemd

RedHat 开发的 init 进程及相关大礼包,目前在各 GNU/Linux 最新发行版广泛应用。 但也因其功能设计多而混杂而广受诟病。