如何设置服务?

我有一个脚本,我想在我的Ubuntu Server 11.04无头盒子上作为服务运行。 也就是说,我希望在/etc/init.d/下有正确的文件,并且能够通过service命令控制它。

是否有任何指南可以告诉我如何做到这一点?

除非您使用15.04或更高版本(使用systemd ),否则如果将脚本转换为Upstart作业,可能会更好,而不是按照/etc/init.d/的示例(其中是System V风格的init脚本,Ubuntu和其他发行版正在逐渐远离它们。

Upstart Cookbook提供了大量有关Upstart工作如何运作的信息。 虽然我不会将其描述为HOWTO,但如果您将信息与查看/etc/init/的库存Ubuntu Upstart作业相结合,您将开始了解情况。

我建议从Cookbook的第4节和第5节开始, “概念和术语”和“配置”

以下是如何创建upstart脚本的一个非常简单的示例: https : //wiki.frugalware.org/index.php/Upstart_Job_HOWTO

更新:以上链接已损坏。 以下是脚本的示例:

 description "My startup service" author "You or someone else" version "3.14" pre-start script echo 'Starting my service ...' end script start on net-device-up stop on runlevel [!2345] console output respawn exec /path/to/your/custom/script 

根据需要进行调整。

您应该将脚本放在/etc/init/yourfilename.conf

然后重新加载配置:

 sudo initctl reload-configuration 

如果一切正常,您应该可以通过以下方式启动它:

 sudo start yourfilename