我正在尝试使用start_server和starman创建一个启动psgi应用的漂亮的init.d脚本。它需要具备以下功能:
start-stop-daemon
不可用)start_server
理想情况下,我想使用/etc/init.d/functions
附带的内容为脚本提供任何'RedHat init.d脚本的外观和感觉。
更具体地说,我正在寻找最佳实践:
--daemonize
选项答案 0 :(得分:1)
你可以尝试runit,这是另一位主管。现在,使用其中一种似乎是一种好习惯。这里you could read对不同的主管进行比较。
最佳做法:
- 守护程序没有自带的--daemonize选项
你不必守护程序,runit会处理它。
- 在另一个UID下运行守护程序。
您可以使用chpst
答案 1 :(得分:1)
如果perl正在运行,那么使用Ubic怎么样?它是一个基于perl的管理程序,使LSB /etc/init.d/兼容性相当容易。我倾向于使用runit / daemontools / s6的方式(在单独的服务/目录中)但你有很大的灵活性。由于您可以在脚本中使用perl,因此有很多有趣的可能性。此外,Ubic为您提供可移植性,因为它可以在不同平台(BSD,Linux,Solaris,OS / X等)上以相同的方式工作。
答案 2 :(得分:1)
这是我们正在使用的初始化脚本: starman-init
它具有您提到的所有功能: