我有一个运行类似守护程序的服务的python脚本,现在我创建了python包。我在那里创建了一个.deb包,但我希望该脚本可以通过upstart运行,但我不能在安装.deb包时自动将文件写入/etc/init ubuntu文件夹,这样我的守护进程就不必在重启时手动启动。我不知道我是否解释得很好,但我不知道如何更好地解释它。
我有:python ->runs,一个python守护进程
python_script.tar.gz -> python包
我需要的是:
python.deb ->,它安装python脚本并为我的python脚本设置启动程序,以便它作为服务/守护进程运行
发布于 2013-06-27 20:43:41
你应该寻找debian packaging doc for python,其他有用的是stdeb工具,一个Python源码包转换工具。
要将其作为守护程序运行,您需要创建一个init.d脚本(您可以查看如何更新,并删除一个更完整的示例),您可以在包中添加init.d脚本,然后从python.deb的postinst脚本调用“here -rc.d myscript here”,并从prerm脚本调用"update-rc.d -f myscript here“。
发布于 2013-06-29 05:26:55
如果你使用Ubuntu的标准方式来创建deb包,你需要做的就是将package-name.upstart放在debian文件夹中。
dh_installinit是一个debhelper程序,负责将upstart作业文件或带有关联默认文件的初始化脚本安装到软件包构建目录中,并在前一种情况下为非upstart系统提供兼容性处理。
参见dh_installinit。
我发现构建一个Debian package from Bazaar branch是创建deb包最简单的方法。
另请参阅Packaging New Software。
我使用这种方法创建了Gearman Job Server包集合。放置gearman-job-server.upstart就足够了。
https://stackoverflow.com/questions/17342709
复制相似问题