在新贵配置中,我如何定义应该使用什么命令来关闭服务器。假设我有一个有两个独立进程的守护进程。
假设我有一个看起来像这样的 upstart 文件。
description "Some Example Service"
author "Me"
start on runlevel [2345]
stop on runlevel [016]
respawn
exec startup.sh
Run Code Online (Sandbox Code Playgroud)
我如何告诉暴发户它应该shutdown.sh在关闭服务器时调用?新贵通常如何期望关闭守护程序?
roa*_*dmr 10
使用exec启动过程是好的,但停车时,如果你绝对需要运行命令的具体脚本或组,您可以使用 pre-stop节。
pre-stop exec shutdown.sh
Run Code Online (Sandbox Code Playgroud)
我假设您已经尝试过只使用 exec 节并且它不起作用,可能是因为您的守护进程需要一些专门的清理。请注意,行为良好的守护进程应该在作业停止时从 upstart 接收信号,如果它们适当地处理信号,则不需要额外的清理。
停止作业涉及向其发送 SIGTERM。如果在 SIGTERM 之前需要做任何事情,请在这里做。可以说,服务应该非常优雅地处理 SIGTERM,所以这不是必要的。
如果有任何关键的事情,比如刷新到磁盘,并且提高终止超时不是一个选项,那么 pre-stop 不是一个糟糕的地方
另请阅读本节,了解停止作业时会发生什么的整个工作流程。请注意 pre-stop 何时运行,以及之后如何向进程发送信号,这就是 upstart 正常处理停止作业的方式。
我的来源是官方的 Upstart 食谱:http : //upstart.ubuntu.com/cookbook/
| 归档时间: |
|
| 查看次数: |
5529 次 |
| 最近记录: |