启动和停止守护进程
项目描述
GoCaptain [1] buildout配方生成一个启动和停止守护进程的脚本,类似于您在 /etc/init.d 中找到的脚本。默认情况下,它将检查您的系统,并写入一个“简单”的脚本,例如您可以自己生成的脚本,或者生成一个Linux Standard Base变体,提供更多工具。
特别是LSB脚本将尝试多次关闭您的守护进程,如果它已经运行,则不会启动它。
此包还提供了一个简单的方法从其他buildout配方生成这些脚本 - 请参阅isotoma.recipe.varnish以获取示例。
buildout配方
一个简单的例子是
[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将其关闭。
选项
此配方接受的强制选项包括
- daemon
守护进程可执行文件的路径
- name
守护进程名称,显示在日志消息中
- description
更长的描述,在启动和停止时在控制台显示
- pidfile
用于存储新守护进程PID的文件路径
- args
守护进程的参数。这些将按照您提供的格式在输出脚本中格式化,并在需要时提供续行符
此外,您还可以提供
- template
启动/停止脚本模板的路径。这将优先于此包提供的模板使用。
从其他代码调用
如果您希望从您自己的配方中使用此功能,我建议您做如下操作
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)
自动模块将通过检查您的系统(非常简单!)来选择Simple或LinuxStandardBase变体。
许可证
版权所有 2010 Isotoma Limited
根据Apache许可证版本2.0(“许可证”);您不得使用此文件除非遵守许可证。您可以在以下位置获得许可证副本:
除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”分发,不提供任何明示或暗示的保证或条件。有关许可证中规定的权限和限制的具体语言,请参阅许可证。
项目详细信息
关闭
isotoma.recipe.gocaptain-0.0.9.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fdef841ccbfb694b5e9c049faa761a1c19bbb45afe6c625212529477fa16a026 |
|
MD5 | 5e52c9f9c891fb039bc3c523c40b5555 |
|
BLAKE2b-256 | 83d35d913684f2258ced06d4e0d8589331e0c5b19a35b7cc08a4eb63656c9262 |