2

У меня есть нестандартная работа с этой базовой структурой:

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)

Что я делаю неправильно? Как я могу это исправить?

1 ответ1

0

Вы уверены, что ваша система находится на уровне выполнения 2, а не на другом уровне выполнения? Вы пытались start on runlevel [2345]?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .