2016-09-20 4 views
1

こんにちは皆私のポートが閉じていないこの厄介な問題があります。たとえば、エクスプレスジェネレータを使用して、ノードjs/expressサーバのアウトライン/スケルトンを指定しています。サーバーを終了するとポートが閉じない

Port 3000 is already in use 

通常、私はCTRL + Zを押すだけで、サーバーを終了します。

最近、サーバーから完全に外に出ていませんでした。

私はそれは、私はPIDを見つけてから、このコマンドを使用して

kill -9 5623 
それを殺すこの

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME 
node 5623 viet 12u IPv6 59797  0t0 TCP *:3000 (LISTEN) 

のようなものが生成されます。この

lsof -wni tcp:3000 

あったの周りはほとんど仕事を見つけました

しかし、これで、これを何度も何度も何度もやめてしまいました。サーバーの誰がなぜこれをやっているのかわかっているのですか、CTRL Zがなぜこれまでのように動作していなかったのかなと思います。

+0

あなたはLinuxを使用していますか? – Beginner

+0

@NewbeeDevはいubuntu 14.04特に –

+0

CTRL-Z **はunix上のプログラム**から抜け出ないことに注意してください。そのプログラムをバックグラウンドに置くだけです( '&'でプログラムを起動するのと同様)。 CTRL-Zを実行した後、 'fg'と打って(実行中ではなく終了していない)プログラムに戻ることができます。 CTRL-Zを押すと、 'Stopped program_name'というメッセージで誤解を招くことがあります。停止したが、終了しなかった。 「停止した」とは、眠っているということです。 – slebetman

答えて

3

はCtrl + Zは、単にアプリケーションを一時停止してみてください。

あなたは

ps aux|grep node 

、その後

kill -9 processid 

を行う場合は、ポートを再利用することができるはずです。

アプリケーションをシャットダウンするには、Ctrl + Cキーを押します。

+0

これは良いようです。しかし、killのために-9シグナルを使うことには注意してください。 –

+0

'Ctrl-Z 'はプロセスをバックグラウンドに置かず、一時停止します(' SIGTSTP'シグナルを送ることによって)。 – robertklep

+1

または単に 'killall processname'、例えば。 'killall node'。 – Qix

1

は、Unixベースのオペレーティングシステムでこの

sudo fuser -k 3000/tcp 
+0

申し訳ありませんが何もしませんでした。私はサーバーを走らせた。 CTRL Zを押して、もう一度実行してログアウトしてください。ポート3000はすでに使用中です –

+0

それはうまく動作するはずです – Beginner

+0

それは私にもののリストを与えました。 HUP INTは私が実際にそれらのいずれかが –

関連する問題