【问题标题】:python ubuntu upstart job needs to restart itselfpython ubuntu upstart 作业需要自行重启
【发布时间】:2014-09-06 18:19:15
【问题描述】:

我有一个 Python 脚本,作为 ubuntu 新贵工作运行。我从 shell 开始:

sudo service my-service-name start

在服务本身的 Python 代码中,在某些情况下我需要重新启动服务。以下是我的做法:

import subprocess
import shlex
cmd = 'sudo service my-service-name restart'
subprocess.check_output(shlex.split(cmd), stderr=subprocess.STDOUT)

如果我从 shell 运行 cmd,我可以成功地重新启动我的新贵工作。如果我从作业本身运行它,作业会停止但永远不会再次启动。

以这种方式开始自己的新贵工作有什么问题吗?如果是这样,还有其他方法可以让暴发户的工作重新启动吗?

我重新启动作业的原因是我已经更新了磁盘上的底层 Python 代码,我希望重新启动作业以便它运行新代码。

【问题讨论】:

    标签: python ubuntu upstart


    【解决方案1】:

    您正在从 Python 应用程序更新 Python 应用程序代码?这不是一个好主意...

    无论如何,也许通过在 Upstart 作业中使用 respawn 节,将 USR1 的信号处理程序设置为 TERM 的处理程序,然后向自己发送 USR1 信号(或者只是向自己发送 TERM 信号,但是你不知道什么时候自动重生是否用于您的特殊目的)。

    【讨论】:

      猜你喜欢
      • 2011-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-02
      • 2018-05-28
      • 2016-08-03
      • 1970-01-01
      相关资源
      最近更新 更多