启动和停止守护进程
isotoma.recipe.gocaptain的Python项目详细描述
gocaptain[1]构建方法生成一个脚本来启动和停止守护进程, 与在/etc/in it.d中找到的类似。 或者编写一个“简单”脚本 或者生成一个linuxstandard基变量,提供更多的工具。
特别是lsb脚本将尝试多次关闭守护进程, 如果它已经在运行,就不会启动它。
这个包还提供了从其他 构建配方-请参见isotoma.recipe.varnish以获取示例。
构建配方
一个简单的例子是:
[example] recipe = isotoma.recipe.gocaptain daemon = /usr/bin/example name = example description = example daemon for that thing i did that time pidfile = /var/tmp/example.pid args = -P ${example:pidfile} -w /var/tmp/example.log
这将在bin/example中生成一个脚本,启动守护进程并关闭 稍后再次关闭,使用pidfile中的pid。
选项
此配方接受的强制选项是:
- 后台程序
- 后台程序可执行文件的路径
- 名称
- 守护进程的名称,显示在日志消息中
- 说明
- 较长的说明,在启动和停止期间显示在控制台上
- pidfile
- 存储新守护进程的pid的文件的路径
- 参数
- 守护进程的参数。当您提供它们时,它们将在输出脚本中格式化,并根据需要提供连续性
此外,您还可以提供:
- 模板
- 启动/停止脚本模板的路径。这将优先于此软件包提供的模板使用。
从其他代码调用
如果你想用你自己的食谱,我建议你用 例如:
from isotoma.recipe import gocaptain gc = gocaptain.Automatic() f = open("/path/to/script", "w") gc.write(f, daemon="/usr/sbin/thing", args="-D -P /path/to/pid", name="my thing", description="thing") f.close() os.chmod(target, 0755)
自动模块将通过 检查你的系统(非常简单!).
许可证
版权所有2010 ISOtoma有限公司
根据apache许可证2.0版(以下简称“许可证”)授权; 除非符合许可证,否则您不能使用此文件。 您可以在
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。
[1] | The name comes from Cordwainer Smith |