0

ファイルに変更があるたびにノードサーバーを再実行したいのですが、fswatch を使用したいと考えています。私は次のようなシェルスクリプトでfswatchを使用しています

nohup node server.js &

しかし、EADDRINUSE がスローされるため、同じスクリプトを再度実行することはできません。

  • fswatch の助けを借りてスクリプトを介してノードを再起動する最良の方法は何ですか (または、新しいインストールなしで代替)
  • ノードにノード再起動のようなものがないのはなぜですか?

私が考えることができるのは、psからpidを取得し、スクリプトでそれを殺すことですが、より良い解決策があるはずです。

4

2 に答える 2

0

fswatch の助けを借りてそれを行うことができます。

fswatch -o mydir | xargs -n1 -I{}  ps | grep '[n]ode server.js$' | awk '{system("kill "$1)}'

または、同じコードを別のシェルファイルに入れます。そしてそれを

xargs -n1 './location-of-shell-file.sh'

grep を実行すると、そのプロセスも ps に含まれているため、それを除外するには使用する必要がありました

grep '[n]ode server.js'
于 2015-02-23T15:51:10.660 に答える