1111

./shutdown.shtomcat/binディレクトリから使用してTomcatを閉じようとしました。しかし、サーバーが適切に閉じられていないことがわかりました。そのため、再起動できませんでした
。Tomcat はポートで実行されています8080

で実行されている tomcat プロセスを強制終了したい8080。どのプロセスを強制終了するかを選択するために、最初に特定のポート (8080) で実行されているプロセスのリストが必要です。

4

31 に答える 31

1336

これfuser 8080/tcpにより、そのポートにバインドされているプロセスのPIDが出力されます。

そして、これfuser -k 8080/tcpはそのプロセスを殺します。

Linuxでのみ動作します。より一般的なのは、lsof -i4(またはIPv6の場合は6)の使用です。

于 2012-07-21T21:57:17.147 に答える
1010

ポート 8080 をリッスンしているプロセスを一覧表示するには:

lsof -i:8080

ポート 8080 をリッスンしているプロセスを強制終了するには:

kill $(lsof -t -i:8080)

またはもっと激しく:

kill -9 $(lsof -t -i:8080)

(シグナル-9に対応しますSIGKILL - terminate immediately/hard kill:キルシグナルのリストおよびkill コマンドの -9 オプションの目的は何ですか?を参照してください。プロセス。)。kill-15soft kill

于 2015-09-15T18:17:37.850 に答える
338

コマンドを使用する

 sudo netstat -plten |grep java

grep javaプロセスとして使用されtomcatますjava

ポート番号とプロセスIDを含むプロセスのリストが表示されます

tcp6       0      0 :::8080                 :::*                    LISTEN      
1000       30070621    16085/java

前の数字/javaはプロセス ID です。コマンドを使用killしてプロセスを強制終了します

kill -9 16085

-9プロセスが強制的に強制終了されることを意味します。

于 2012-07-20T16:39:17.320 に答える
172

一発ギャグ

kill -9 $(lsof -t -i tcp:8080)

lsofここでの説明:との組み合わせを使用するkill

root@localhost:~# lsof -i tcp:8080
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
java    23672 sine  238u  IPv6 3028222      0t0  TCP localhost:http-alt (LISTEN)

pid を選択して使用kill

kill 23672
于 2019-11-26T16:30:30.867 に答える
131

lsof コマンドを使用できます。ここのようなポート番号は8090としましょう

lsof -i:8090

このコマンドは、このポートで開いているプロセスのリストを返します。

みたいな…</p>

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ssh 75782 eoin 5u IPv6 0x01c1c234 0t0 TCP localhost:8090 (LISTEN)

ポートを解放するには、それを使用しているプロセスを強制終了します (プロセス ID は 75782 です)…</p>

kill -9 75782

これは私のために働いた。元の投稿からのリンクは次のとおりです

于 2015-02-11T10:29:40.243 に答える
46

これは、で実行されているすべてのプロセス ID を stdout に出力します<port_number>

fuser -n tcp <port_number> 

また、いくつかのものをstderrに出力するため、次のようになります。

fuser -n tcp <port_number> 2> /dev/null

次に、これらのプロセス ID をkillコマンドに指定できます。

sudo kill $(fuser -n tcp <port_number> 2> /dev/null)

頻繁に行う場合は、これを関数に入れることもできます。

function killport() {
    sudo kill $(fuser -n tcp $1 2> /dev/null)
}
于 2013-09-27T21:10:52.897 に答える
26

このようにしてみて、

 sudo fuser -n tcp -k 8080
于 2015-06-26T11:15:46.263 に答える
14
  1. lsof -i tcp:8000 このコマンドは、ポート 8000 で実行されているプロセスに関する情報を一覧表示します。

  2. kill -9 [PID] このコマンドはプロセスを強制終了します

于 2015-12-16T09:26:32.407 に答える
13

Linux : ポートがわかっている場合は、次のコマンドを使用できます。

netstat -plten | grep LISTEN | grep 8080

AIX :

netstat -Aan | grep LISTEN | grep 8080

次に、最初の列 (例: f100050000b05bb8) を取得して、次のコマンドを実行します。

rmsock f100050000b05bb8 tcpcb

プロセスを殺します。

于 2014-08-12T07:14:14.873 に答える
13

次のコマンドを実行して、8080 ポート番号 PID を見つけます。

sudo lsof -t -i:8080

次のコマンドを使用して、PID を簡単に強制終了できるようになりました。

sudo kill -9

次のコマンドを使用して、1 つのコマンドを使用して特定のポートでプロセスを強制終了できます。

sudo kill -9 $(sudo lsof -t -i:8000)

于 2020-06-17T07:12:30.830 に答える