У меня есть нестандартная работа с этой базовой структурой:
description "ulfs_bar_example"
author "Ulf"
# Only run at runlevel 2 (Default multiuser)
start on runlevel 2
stop on runlevel [!2]
# Keep it alive
respawn
chdir /storage/_foo/bar
exec sudo -u the_user /storage/_foo/venv/bin/python /storage/_foo/bar/the_app.py
Это выполняется на экземпляре Ubuntu 14.04.5 LTS
в VirtualBox 5.0.26
.
/storage/_foo/
существует на гостевом диске
bar/
существует в хост-системе (также Ubuntu 14.04.5 LTS
) и монтируется через Guest Additions и некоторые символические ссылки в /storage/_foo/
$ cd /storage/_foo
$ ls -alF
...
lrwxrwxrwx 1 the_user code 43 aug 18 14:23 bar -> /mnt/bar_at_host
...
Задание можно запустить без проблем после загрузки гостя следующим образом:
$ sudo start ulfs_bar_example
Но, как указано в conf-файле, я хочу, чтобы задание запускалось, когда уровень запуска 2 вводится при нормальной загрузке. Но, похоже, есть некоторые проблемы с монтажом, так как работа не начнется. В dmesg
я получаю это:
[ 8.793493] init: Failed to spawn ulfs_bar_example main process: unable to change working directory: No such file or directory
Без какого-либо успеха я пытался изменить:
start on runlevel 2
к различным вещам, похожим на это:
start on (local-filesystems and runlevel 2)
Что я делаю неправильно? Как я могу это исправить?