我已经启用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 用户作业在启动时启动