./shutdown.sh
tomcat/bin
ディレクトリから使用してTomcatを閉じようとしました。しかし、サーバーが適切に閉じられていないことがわかりました。そのため、再起動できませんでした
。Tomcat はポートで実行されています8080
。
で実行されている tomcat プロセスを強制終了したい8080
。どのプロセスを強制終了するかを選択するために、最初に特定のポート (8080) で実行されているプロセスのリストが必要です。
./shutdown.sh
tomcat/bin
ディレクトリから使用してTomcatを閉じようとしました。しかし、サーバーが適切に閉じられていないことがわかりました。そのため、再起動できませんでした
。Tomcat はポートで実行されています8080
。
で実行されている tomcat プロセスを強制終了したい8080
。どのプロセスを強制終了するかを選択するために、最初に特定のポート (8080) で実行されているプロセスのリストが必要です。
これfuser 8080/tcp
により、そのポートにバインドされているプロセスのPIDが出力されます。
そして、これfuser -k 8080/tcp
はそのプロセスを殺します。
Linuxでのみ動作します。より一般的なのは、lsof -i4
(またはIPv6の場合は6)の使用です。
ポート 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
-15
soft kill
コマンドを使用する
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
プロセスが強制的に強制終了されることを意味します。
一発ギャグ
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
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
これは私のために働いた。元の投稿からのリンクは次のとおりです。
これは、で実行されているすべてのプロセス 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)
}
このようにしてみて、
sudo fuser -n tcp -k 8080
lsof -i tcp:8000
このコマンドは、ポート 8000 で実行されているプロセスに関する情報を一覧表示します。
kill -9 [PID]
このコマンドはプロセスを強制終了します
Linux : ポートがわかっている場合は、次のコマンドを使用できます。
netstat -plten | grep LISTEN | grep 8080
AIX :
netstat -Aan | grep LISTEN | grep 8080
次に、最初の列 (例: f100050000b05bb8) を取得して、次のコマンドを実行します。
rmsock f100050000b05bb8 tcpcb
プロセスを殺します。
次のコマンドを実行して、8080 ポート番号 PID を見つけます。
sudo lsof -t -i:8080
次のコマンドを使用して、PID を簡単に強制終了できるようになりました。
sudo kill -9
次のコマンドを使用して、1 つのコマンドを使用して特定のポートでプロセスを強制終了できます。
sudo kill -9 $(sudo lsof -t -i:8000)