在ubuntu 14.04中使用upstart服务器运行脚本

时间:2017-11-17 07:32:45

标签: bash ubuntu upstart

我有一个名为 rotate.sh 的脚本。在chmod +x rotate.sh之后,我可以使用命令/home/lin/Desktop/rotate.sh运行它,我的屏幕将向左旋转。

rotate.sh:

#!/bin/bash
xrandr --output VGA1 --rotate left 

然后我写了一个名为 testOne 的新手工作,位于 /etc/init/testOne.conf

testOne.conf:

description "test upstart job"
author "Lin a@i.com"

start on filesystem or runlevel [2345]
start on desktop-session-start
stop on shutdown

pre-start script
    mkdir -p /home/lin/Desktop/test1
end script

respawn
respawn limit 15 5

script
    exec /home/lin/Desktop/rotate.sh 
    cd /home/lin/Desktop/
    mkdir test2
end script

但是当我运行sudo start testOne时,它不起作用。只有预启动有效。我做错了什么?

1 个答案:

答案 0 :(得分:0)

也许改变这一行

exec /home/lin/Desktop/rotate.sh

exec /home/lin/Desktop/rotate.sh start

会有所帮助。作为替代方案,你也可以使用exec节而不是简单的情况,在这种情况下,它会是这样的

exec bash -c '/home/lin/Desktop/rotate.sh start'

upstart上查看一些参考资料以及如何使用它:http://upstart.ubuntu.com/cookbook/#id300