Я включил Upstart User Jobs и настроил несколько заданий. Эти задания могут быть запущены / остановлены соответствующим пользователем, и все в порядке. Однако раздел start on
, кажется, не имеет эффекта:
start on runlevel [2345]
Каждый раз, когда система перезагружается, мне нужно было ssh в машину и start [job name]
. Как я могу заставить систему также запускать эти пользовательские задания?
Ниже приведен сценарий 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 при загрузке
Раздел start on
, кажется, не работает во всех вариантах, как я уже объяснил здесь: Безопасное закрытие машины виртуальной коробки при перезагрузке хоста
Используйте это здесь:
start on started rc RUNLEVEL=[2345]