開発環境でサーバ側の修正を行ったため、
サーバを起動させようと思ったら、
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するたびにサーバを再/