启动时自动启动 Upstart 用户作业

启动时自动启动 Upstart 用户作业

我已经启用Upstart 用户作业并配置了一些作业。这些作业可以由相应的用户启动/停止,一切正常。然而,该start on节似乎没有效果:

start on runlevel [2345]

每次系统重新启动时,我都必须通过 ssh 进入机器start [job name]。我怎样才能强制系统也启动那些用户作业?

答案1

以下是一个 upstart 脚本,它可以帮助我在系统启动时启动用户作业。如果没有它,我也无法让它们工作。

author 'Bradley Ayers'
description 'Enables user job "start on" stanzas to be honored at boot'

task
start on starting rc-sysinit

script
cat /etc/passwd | while read line
do
    user=`echo $line | cut -d: -f1`
    home=`echo $line | cut -d: -f6`
    if [ -d "$home/.init" ]
        then
        sudo -u $user initctl status rc-sysinit
    fi
done
end script

资料来源:我从以下网站获取了脚本:启用 Upstart 用户作业在启动时启动

答案2

正如我在这里所解释的那样,这个start on诗节似乎并不适用于所有的变化: 主机重启时安全关闭虚拟机

在这里使用这个:

start on started rc RUNLEVEL=[2345]

相关内容