小编Kon*_*din的帖子

通过 upstart 运行短期任务

操作系统:Ubuntu 12.04

任务:在某些启动/停止条件下运行脚本。不会启动长期运行的服务/守护进程,仅启动短期操作。

新贵脚本test.conf:

description     "test script"

start on local-filesystems or runlevel [2345]
stop on runlevel [!2345]

task

pre-start exec /full/path/to/script.sh start
pre-stop exec /full/path/to/script.sh stop
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 运行“开始测试”永远不会结束。如果我按 Ctrl-C 挂起暴发户,进一步的“状态”调用将显示服务正在运行。
  2. “停止测试”根本不会导致运行“预停止”节。

原始任务可以使用新贵脚本解决吗?

谢谢。

更新。“事实上,您的 script.sh 具有启动和停止操作,这确实表明有一个长期运行的守护进程”

没有矛盾。有启动操作和清理操作,中间没有长时间运行的进程。

当我添加“exec”节时,即

exec /full/path/to/script.sh idle
Run Code Online (Sandbox Code Playgroud)

结果是这样的:

$ start test
test stop/waiting

$ status test
test stop/waiting

$ stop test
stop: Unknown instance:
Run Code Online (Sandbox Code Playgroud)

更正:节中提到的脚本是使用“start”和“idle”参数执行的,但不使用“stop”参数执行。

scripts upstart

5
推荐指数
1
解决办法
4554
查看次数

标签 统计

scripts ×1

upstart ×1