Виходячи з цього питання , я написав просту послугу для початківців ( /etc/init/pms.conf ) для мого безголового поля Ubuntu Server 11.04 наступним чином:
start on filesystem and net-device-up IFACE=eth0
stop on runlevel [016]
respawn
exec /home/administrator/pms-current/PMS.sh
Я можу запустити (або зупинити) цю послугу за бажанням з командного рядка:
service pms start
І я бачу, що це справді працює.
Однак, коли я вперше завантажую свою машину, сервіс не запускається. Якщо я SSH в поле і перевірити стан обслуговування я отримую:
$ service pms status
pms stop/waiting
Моє запитання, чому це відбувається? Чому моя служба не починається під час завантаження?
ОНОВЛЕННЯ 1 : не впевнений, що моя служба починається і згодом помирає, або просто взагалі не починається, я додав у PMS.sh наступне:
echo "STARTED" > $STARTLOG
Це очевидно просто дає мені щось шукати. Я перевірив це, запустивши сервіс самостійно, а потім перевірив start.log . Потім я видалив start.log і перезавантажився. Її не було після перезавантаження, тому здається, що на початку програма точно не запускає мою службу. Я припускаю, що це може вмирати в більш ранній момент процесу, але це здається досить малоймовірним, враховуючи простоту всього цього.
ОНОВЛЕННЯ 2 : Я щойно оновив до 11.10, що включає оновлення на початку, але ця проблема все ще виникає.
ОНОВЛЕННЯ 3 : За запитом, я завантажувався з --debug
. Вихід кота /var/log/syslog | grep init
занадто довгий, щоб ставити питання, але ви його переглядаєте тут .
ОНОВЛЕННЯ 4 : Більше журналів, на цей раз конфід-конфірт включено вгорі. Виконати 1 і запустити 2 .
cat /var/log/syslog | grep init
після включення завантажувального журналу для запуску, використовуючи інструкції на налагодженні Upstart