web-dev-qa-db-ja.com

TCP / IPポートを解放しますか?

netstat -tulnapは、使用中のポートを示します。 Linuxでポートを解放する方法は?

125
bapi

他の人が言ったように、そのポートでリッスンしているすべてのプロセスを強制終了する必要があります。これを行う最も簡単な方法は、fuser(1)コマンドを使用することです。たとえば、ポート80でhttp要求をリッスンするすべてのプロセスを表示するには(rootとして実行するか、Sudoを使用します):

# fuser 80/tcp

それらを殺したい場合は、単に-kオプションを追加してください。

193
uzi

Linuxで特定のポートを削除するには、以下のコマンドを使用します

Sudo fuser -k Port_Number/tcp

port_Numberを使用中のポートに置き換えます。

63
Anil Chahal

tcpkilldsniffパッケージの一部)を使用して、必要なポート上の接続を強制終了できます。

Sudo tcpkill -9 port PORT_NUMBER
12
AlexT

"netstat --programs"コマンドは、ルートであると仮定してプロセス情報を提供します。それから、あなたをいらいらさせるために再び立ち上がるかもしれない「問題のある」プロセスを殺さなければなりません:-)。

ここで実際に何を達成しようとしていますか?ソリューションは、これらのポートを保持しているプロセスによって異なります。

9
paxdiablo

問題のポートをリッスンしているプロセスを強制終了します。 netstatがプロセスIDを示していると思います。

7
Gleb

ターミナルタイプで:

netstat -anp|grep "port_number"

ポートの詳細が表示されます。最後の列に移動します。この形式になります。例:-PID/Java

次に実行します:

kill -9 PID. Worked on Centos5

Mac用:

lsof -n -i :'port-number' | grep LISTEN

サンプル応答:

Java   4744 (PID)  test  364u  IP0 asdasdasda   0t0  TCP *:port-number (LISTEN)

次に実行します:

kill -9 PID 

Macbookで働いた

7
user2332505

プロセスをすぐに強制終了したい場合は、TERMシグナルの代わりにKILLシグナルを送信します(後者のシグナルは停止要求で、最初のシグナルはクリーンアップなしですぐに有効になります)。簡単です:

kill -KILL <pid>

ただし、停止しているプログラムによっては、停止すると状態がひどく破損する可能性があることに注意してください。通常、正常終了が機能しない場合にのみ、KILLシグナルを送信します。根本的な問題は何を解決しようとしているのか、そして殺害が正しい解決策であるかどうかだと思います。

2
Paul de Vrieze

唯一の方法は、ポートを開いたプロセスを停止することだと思います。

0
Tilo Prütz

すべてのポートを確認するには:

netstat -lnp

開いているポートを閉じるには:

fuser -k port_no/tcp

例:

fuser -k 8080/tcp

どちらの場合も、必要に応じてSudoコマンドを使用できます。

0
Vinayak