nodejs サーバを停止、再起動させる方法

開発環境でサーバ側の修正を行ったため、

サーバを起動させようと思ったら、

Error: listen EADDRINUSE :::3000

 

とエラーメッセージが。

いつもならサーバを起動したteratermからctrl + cで停止させるのですが、

今回は、起動させた部分が見つからないため、バックグラウンドで動いているようです。

プロセスを調べ、停止させましょう。

 

 

停止方法

まず、nodejsサーバのプロセス番号を調べます。

ps -e | grep node

 

を実行すると、

23363 pts/0    00:00:00 node

 

な感じに表示されると思います。

ここでいうと、「23363」がプロセス番号ですね。

 

強制終了させましょう。

sudo kill -9 23363

 

プロセス番号を指定し、強制終了します。

これで、停止できました。

再度

ps -e | grep node

 

を実行しても結果が表示がされないはずです。

 

おすすめのサーバ起動方法

サーバを停止し、起動しと、いちいちコマンドを打っていては面倒。

ならば、シェルを作成しましょう。

 

#!/bin/sh
PID=$(ps -e | grep node | awk '{print $1}')
if [ ! -z "$PID" ]; then
  sudo kill -9  $PID
fi
cd [サーバファイルまでのディレクトリ]
node [サーバファイル] &

 

というようにシェルを作成することで、

もし、プロセスが起動状態であれば、停止し、

サーバを起動させる、という意味になります。

= 再起動させるということですね。

 

ただ、このままだと、ファイルを更新するたびに、

サーバを再起動させるシェルを起動させなければならず、面倒ですね。

 

少し長くなってしまったので、以下の記事でもっと楽をできる方法をご紹介します。

 

https://d1gk62opoknolq.cloudfront.net/2019/10/10/nodejs-ファイルを編集%ef%bc%88更新%ef%bc%89するたびにサーバを再/

コメントを残す

CAPTCHA