J'ai un travail personnalisé sur cette structure de base:
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
Ceci est exécuté sur une Ubuntu 14.04.5 LTS
instance dans VirtualBox 5.0.26
.
/storage/_foo/
existe dans le disque invité
bar/
existe également dans le système hôte Ubuntu 14.04.5 LTS
et est monté via Guest Additions et certains liens symboliques au/storage/_foo/
$ cd /storage/_foo
$ ls -alF
...
lrwxrwxrwx 1 the_user code 43 aug 18 14:23 bar -> /mnt/bar_at_host
...
Le travail peut être démarré sans aucun problème après le démarrage de l'invité, comme ceci:
$ sudo start ulfs_bar_example
Mais comme indiqué dans le fichier de configuration, je souhaite que le travail commence lorsque le niveau d'exécution 2 est entré au démarrage normal. Mais il semble y avoir un problème avec le montage puisque le travail ne sera pas commencé. Dans dmesg
je reçois ceci:
[ 8.793493] init: Failed to spawn ulfs_bar_example main process: unable to change working directory: No such file or directory
Sans succès, j'ai essayé de changer:
start on runlevel 2
à différentes choses semblables à ceci:
start on (local-filesystems and runlevel 2)
Qu'est-ce que je fais mal? Comment puis-je réparer cela?
la source
$ runlevel
il reviendraN 2
. Ajouter[2345]
àstart on
me donne la même erreur dansdmesg
.