Eu tenho um trabalho inicial personalizado com esta estrutura básica:
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
Isso é executado em uma Ubuntu 14.04.5 LTS
instância em VirtualBox 5.0.26
.
/storage/_foo/
existe no disco convidado
bar/
existe no sistema host (também Ubuntu 14.04.5 LTS
) e é montado atravésAdições de convidadose alguns links simbólicos em/storage/_foo/
$ cd /storage/_foo
$ ls -alF
...
lrwxrwxrwx 1 the_user code 43 aug 18 14:23 bar -> /mnt/bar_at_host
...
O trabalho pode ser iniciado sem problemas depois que o convidado for inicializado assim:
$ sudo start ulfs_bar_example
Mas, como afirmado no arquivo conf, quero que o trabalho seja iniciado quando o nível de execução 2 for inserido na inicialização normal. Mas parece haver algum problema com a montagem, já que o trabalho não começa. Em dmesg
eu entendo isso:
[ 8.793493] init: Failed to spawn ulfs_bar_example main process: unable to change working directory: No such file or directory
Sem sucesso, tentei mudar:
start on runlevel 2
para várias coisas semelhantes a esta:
start on (local-filesystems and runlevel 2)
O que estou fazendo de errado? Como posso consertar isso?
Responder1
Você tem certeza de que seu sistema está entrando no nível de execução 2 e não em outro nível de execução? Você tentou start on runlevel [2345]
?