编写init.d脚本的最佳方式
我试图想出一个不错的init.d脚本来启动一个psgi应用程序,使用start_server和starman。 它需要具有以下功能:
start-stop-daemon
不可用) start_server
运行start_server
理想情况下,我想使用/etc/init.d/functions
附带的内容为脚本提供任何ol'RedHat init.d脚本的外观和风格。
更具体地说,我正在寻找最佳实践来:
--daemonize
选项 你可以尝试跑步,这是另一位主管。 现在,使用这些东西中的一种似乎是一种好习惯。 在这里你可以阅读不同主管的比较。
最佳实践:
你不必守护程序,runit会照顾它。
在这里你可以使用chpst
如果perl无论如何运行如何使用Ubic? 这是一个基于perl的管理程序,它使得LSB /etc/init.d/兼容性变得相当容易。 我倾向于以使用runit / daemontools / s6的方式使用它(在单独的服务/目录中),但您有很大的灵活性。 既然你可以在你的脚本中使用perl,那么有很多有趣的可能性。 此外,由于Ubic可以在不同的平台(BSD,Linux,Solaris,OS / X等)上以相同的方式工作,所以Ubic具有可移植性。
以下是我们使用的init脚本:starman-init
它具有您提到的所有功能:
请注意,它假设您为应用程序安装了本地Perl(例如plenv或perlbrew)。 你需要为你的环境定制。
链接地址: http://www.djcxy.com/p/13163.html