我正在努力让vagj安装所有nodejs正常运行所需的东西。然后做了'nohup grunt服务器&'在节点项目的根文件夹上,我期望服务器在3030端口监听,但事实并非如此。
如果在配置之后我就做了 流浪汉ssh grunt服务器&
一切正常。只有在配置程序运行它时它才会起作用。
这是我的Vagrantfile的一部分:
git clone https://github.com/airbnb/rendr.git
cd /home/temp/rendr/examples/00_simple/
npm install
cp -rf /home/temp/rendr/examples/00_simple/ /home/website/nodejs/rendr-try1
cd /home/website/nodejs/rendr-try1/00_simple
nohup grunt server &
所以它似乎与配置器没有在终端中运行有关,但是有没有简单的方法可以在不使用upstart之类的情况下运行它?
答案 0 :(得分:7)
好的发现了。
事实证明,任何想要保持运行的进程都必须正确守护进程。为了做到这一点,必须分离stdin,stdout和stderr。
我在做
"nohup grunt server &"
通过grunt启动node.js 用以下代替:
"nohup grunt server 0<&- &>/dev/null &"
完美运作