2016-07-01 10 views
0

ノードアプリケーションをサービスとして実行しようとしています。ノードアプリケーションが終了しない

私は、スクリプトを呼び出していた場合、これを行うにthisを使用しています:私はサービスを開始するとき

cd $HOME/ 
$(which node) app.js 

だから、すべてがOKです。

問題は私がサービスを停止できないことです。サービスを停止すると、プロセスはまだ実行されており、停止するためには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文を追加する必要がある場合はわからない、またはこれは別の問題のsomekindです。私はちょうどapp.jsを実行した場合

+0

サービスとしてプロセスを実行するのは簡単ですhttps://github.com/Unitech/pm2 –

+0

@RATS:ありがとうございました! – George

答えて

0

SIGTERMからSIGINTにプロセス信号を交換してください(サービスとして、私はCtrlキー+ Cでそれを止めることができていません)。

+0

:残念ながらそれは動作しませんでした。 – George

関連する問題