如何在 VirtualBox 客户机上使用 Upstart

如何在 VirtualBox 客户机上使用 Upstart

我有一个自定义的 upstart 工作,具有以下基本结构:

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,并通过新增嘉宾还有一些符号链接/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

您确定您的系统正在进入运行级别 2 而不是其他运行级别吗?您尝试过吗start on runlevel [2345]

相关内容