So verwenden Sie Upstart auf dem VirtualBox-Gast

360
UlfR

Ich habe einen benutzerdefinierten Upstart-Job mit dieser grundlegenden Struktur:

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 

Dies wird auf einer Ubuntu 14.04.5 LTSInstanz in ausgeführt VirtualBox 5.0.26.

/storage/_foo/ existiert auf der Gastdiskette

bar/existiert im Host-System (auch Ubuntu 14.04.5 LTS) und wird über Guest Additions und einige Symlinking-Funktionen unter gemountet/storage/_foo/

$ cd /storage/_foo $ ls -alF ... lrwxrwxrwx 1 the_user code 43 aug 18 14:23 bar -> /mnt/bar_at_host ... 

Der Job kann problemlos gestartet werden, nachdem der Gast folgendermaßen gestartet wurde:

$ sudo start ulfs_bar_example 

Aber wie in der conf-Datei angegeben, möchte ich den Job starten, wenn Runlevel 2 beim normalen Booten eingegeben wird. Es scheint jedoch ein Problem mit dem Mounten zu geben, da der Job nicht gestartet wird. In dmesgbekomme ich das:

[ 8.793493] init: Failed to spawn ulfs_bar_example main process: unable to change working directory: No such file or directory 

Ohne Erfolg habe ich versucht, mich zu ändern:

start on runlevel 2 

zu verschiedenen ähnlichen Dingen:

start on (local-filesystems and runlevel 2) 

Was mache ich falsch? Wie kann ich das beheben?

2

1 Antwort auf die Frage

0
Jesusaur

Sind Sie sicher, dass Ihr System in Runlevel 2 eintritt und nicht in ein anderes Runlevel? Haben Sie versucht start on runlevel [2345]?

Irgendwann wird definitiv Runlevel 2 eingegeben: `$ runlevel` gibt 'N 2' zurück. Das Hinzufügen von "[2345]" zum "Start" führt zu demselben Fehler in "dmesg". UlfR vor 7 Jahren 0