

node.jsで作ったスクリプトをデーモン化させたい場合の方法についてです。  
例えば、[screenshot-as-a-service](https://github.com/fzaninotto/screenshot-as-a-
service)のようなプログラムをサーバーに常駐させたい場合の方法について。


CC BY-SA 3.0
2015-02-07T11:13:10.677
6098
2020-06-20T03:25:40.037
525
question
node.js
node.jsのスクリプトをデーモン化するには？


foreverを使いましょう。  
起動したnode.jsスクリプトの死活監視を行い、停止した場合は自動的に再起動します。

[code]

    npm install forever -g
    forever start spp.js
    
[/code]

実行中のスクリプトの停止や再起動

[code]

    forever stop
    forever stopall
    forever restart
    
[/code]


CC BY-SA 3.0
2015-02-07T11:13:10.677
6099
2015-02-07T11:13:10.677
525
6098
answer


`systemd`のユニットファイルを作成してみるのはどうでしょうか？（当方node.jsはさっぱりなのですが）


CC BY-SA 4.0
2020-06-20T01:54:51.770
67819
2020-06-20T01:54:51.770
40737
6098
answer


pm2 を用いて管理するのが良いと思っています。理由は、 Node.js
はクラスタリングモードを使うか使わないか、は言語レベルでサポートしていて、であるならば、それを吸収するフレームワークとして、 pm2
を使うのが妥当なのではないか、と思うからです。

pm2 のプロセス自身は、おそらく放っておいてもそいつが死んでしまうことはあまりなさそうな気はしますが、万全を期すならば、 @山田ハヤオ さんが仰る通り、
pm2 自身を systemd で OS レベルでデーモン化するのが良いのではないか、と思います。


CC BY-SA 4.0
2020-06-20T03:25:40.037
67823
2020-06-20T03:25:40.037
754
6098
answer