流浪虚拟机中的 init.d 问题



我写了以下内容:

#! /bin/sh
# /etc/init.d/bootForever
#
forever start /usr/local/src/mean/myapp/app.js

/etc/init.d/bootForever

我跑了sudo chmod 755 /etc/init.d/bootForever,然后跑了sudo update-rc.d bootForever defaults,退出了虚拟机并运行了vagrant reload.没有快乐。

SSH回到虚拟机中并直接在命令行中运行"/etc/init.d/bootForever",这产生了我所追求的效果。

为什么此脚本在 VM 启动期间不起作用,但在启动后可以工作?是时间问题吗?我可以确保脚本在最后运行吗?

虚拟机规格:http://files.vagrantup.com/precise64.box

您是否尝试过使用永久二进制文件的绝对路径?

例如:

#! /bin/sh
# /etc/init.d/bootForever
#
/usr/bin/forever start /usr/local/src/mean/myapp/app.js

将/usr/bin 替换为 forever 所在的位置,通常可以使用 whereis 或 locate 命令找到该位置。

最新更新