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

标签 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

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

感谢帮助

最佳答案

通过带有参数的exec 运行命令是可以的——参见http://upstart.ubuntu.com/wiki/Stanzas#exec这给了这样一个例子。

但是,upstart 将使用 /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

关于bash - 在 upstart .conf 脚本中运行 bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20501702/

相关文章:

linux - 通过正则表达式重命名文件夹中的所有文件

linux - 如何在启动时运行 Linux 终端命令

bash - Foreman 和 PATH 环境变量

linux - Grep 内部从 ls 和 head 返回的文件

linux - 比较字符串并将值连接到 bash shell 中的一个字段中

bash - 是否可以逐行调试 bash 脚本?

Java - Windows 中可能的主要方法参数

python - 如何在加载库时加快 python 启动和/或减少文件搜索?

ubuntu - 用SaltStack解决 : initctl: `Unable to connect to Upstart: Failed to connect to socket/com/ubuntu/upstart: Connection refused`

linux - 如何在 upstart 中正确启动 Node 服务器,以便 apn 正常工作