在upstart .conf脚本中运行bash脚本

时间:2013-12-10 17:50:49

标签: bash startup upstart

我想在启动时运行我的bash脚本(kvm_manage),但它不起作用。这是我的upstart .conf脚本:

      description "kvm start skript"

      start on local-filesystem
      stop on shutdown

      respawn 

      script
         exec /etc/kvm_manage start
      end script

我想用参数“start”运行它。有可能的?我应该改变什么?

感谢您的帮助

1 个答案:

答案 0 :(得分:17)

通过exec使用参数运行命令很好 - 请参阅http://upstart.ubuntu.com/wiki/Stanzas#exec给出了这样的示例。

但是,新贵会使用/bin/sh而不是bash,所以如果你的脚本需要bash,你需要像

这样的东西
script
    exec bash -c '/etc/kvm_manage start'
end script

更新:另请参阅Guss评论中的建议,以便在简单的情况下使用exec节:

exec bash -c '/etc/kvm_manage start'

或者如果kvm_manage是带有she-bang(#!/bin/bash)的可执行文件,那么只需:

exec /etc/kvm_manage start