我写了以下内容:
#! /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 命令找到该位置。