ubuntu upstart script 执行一个 script.py 程序

sad*_*ave 6 python 10.10 upstart process executable

我正在创建一个新贵脚本来执行我编写的 python 程序。当服务启动时,我想回显starting service - script.py...并回显程序启动后的进程 ID。

同样,我想stopping service - script.py...在停止时回声。

到目前为止我有这个(记住我是新手)......

#Name: script.conf
description "An upstart config to run ~/applications/systems/script.py as an OS service."
author "Corey F. - 12/2011"

pre-start script
    echo 'starting service - script.py...'
end script

post-stop script
    echo 'stopped service - script.py...'
end script

start on runlevel [2534]
stop on runlevel [!2534]

exec /home/lv_admin/applications/systems/script.py
respawn
Run Code Online (Sandbox Code Playgroud)

我想我需要命令2534 status来获取服务的 processid 和最后一个已知状态(如此处所述:http : //upstart.ubuntu.com/getting-started.html),但我不确定把它放在哪里.. .

另外,在执行此 script.conf upstart 文件期间,如何将 upstart 事件问题记录到特定文件?我需要知道新贵在启动过程中是否有问题。

Tum*_*oid 1

好吧,这是一个有点老的问题,但为了完整起见,让我们回答它:-)

假设您将此作业保存在中/etc/init/myapp.conf,则作业名称为myapp. 询问作业状态(和进程 ID)只需:(status myapp以 root 身份)或sudo status myapp在典型的 Ubuntu 用户案例中。

默认情况下会出现初始化错误dmesg,因此会dmesg | grep "init:"显示日志。可以通过 启用更详细的日志记录sudo initctl log-priority info。比这更详细的调试级别会产生垃圾邮件并使您感到困惑:-)

执行 后sudo stop myappsudo start myapp您会立即获得成功反馈以及进程 ID。如果您遇到init: unknown job这样的情况,Upstart 无法解析配置文件,并且可以从 dmesg 找到确切的行和原因。