我继承了一台服务器而且我遇到了一个奇怪的问题。我在运行forever start server.js
时遇到问题,它没有返回消息,然后forever list
没有显示任何永久进程正在运行。经过一番挖掘,我发现有些人建议永远作为sudo
运行。
在我运行sudo forever start server.js
后,它似乎正常启动,forever list
显示server.js正在运行。但是,现在我无法阻止这个过程。运行kill
会从top
中显示的列表中删除节点,但Forever仍会将server.js视为正在运行。运行sudo forever stop server.js
将返回错误“server.js不是永久进程的有效索引。”正在运行sudo forever stopall
或sudo forever list
node.js:63
throw e;
^
TypeError: Cannot call method 'replace' of undefined
at Argv (/usr/local/lib/node/.npm/optimist/0.1.2/package/lib/optimist.js:38:33)
at Object.<anonymous> (/usr/local/lib/node/.npm/forever/0.3.0/package/bin/forever:81:26)
at Module._compile (node.js:462:23)
at Module._loadScriptSync (node.js:469:10)
at Module.loadSync (node.js:338:12)
at loadModule (node.js:283:14)
at require (node.js:411:14)
at Object.<anonymous> (/usr/local/bin/forever:11:18)
at Module._compile (node.js:462:23)
at Module._loadScriptSync (node.js:469:10)
无论我做什么,我都无法阻止server.js。我想永远在它的使命中有点过分热心。有什么建议吗?
答案 0 :(得分:0)
不知道为什么会这样,但由于某种原因,它解决了我的问题。不完全,但部分。当我su root
然后运行forever命令时,我能够start
和stopall
顺利完成。仍然会为forever stop server.js
收到相同的错误,因此无论出于何种原因我无法以这种方式停止服务器,但我能够以forever stopall
作为su root
来运行它。< / p>