我正在尝试将节点应用作为服务运行。
我正在使用this这样做,我在调用脚本:
cd $HOME/
$(which node) app.js
所以,当我启动服务时,一切正常。
问题是我无法停止服务。如果我停止服务,该过程仍在运行,我必须sudo kill -9 PID
才能阻止它。
在app.js中:
MongoClient.connect('mongodb://localhost/mydb', function(err, database) {
if(err) throw err;
db = database;
var server = app.listen(1338, function () {
var host = server.address().address;
var port = server.address().port;
server.timeout = 120000;
});
process.on('SIGTERM', function () {
server.close(function () {
process.exit(0);
});
});
});
我不确定是否必须添加另一个process.on语句来处理这个问题,或者这是另一个问题。
如果我只是运行app.js(不是服务,我可以用Ctrl + C来阻止它)
答案 0 :(得分:0)
将过程信号从SIGTERM
替换为SIGINT
。