プロセス強制終了の問題

プロセス強制終了の問題

私は、Java / Scala プラットフォームで多くのテストを必要とするサーバー ソフトウェアをプログラムしようとしています。コードをコンパイルして実行するたびに、ポート 80 でリッスンを開始します。ハングしたときに Ctrl+C で終了する必要がある場合があります。その場合、Ubuntu はポートを解放していません。そのため、プロセスを実行するには、マシンを再起動する必要があります。

私はこれをPS AUXで見ました

root      1924  0.0  0.0   5796  1660 pts/0    T    05:44   0:00 sudo scala -
root      1925  0.2  1.5 491448 40796 pts/0    Tl   05:44   0:03 java -Xmx256M -Xms16M

それで、プロセス 1924 と 1925 を実行します。私はこれら両方に対して sudo kill を実行しました。しかし、それらは長い時間が経過しても存続し続けます。

sudo nmap -T アグレッシブ -A -v 127.0.0.1 -p 1-65000

Scanning localhost (127.0.0.1) [65000 ports]

Discovered open port 80/tcp on 127.0.0.1

それはまだそこにあることを意味します!

sudo netstat --tcp --udp --listening --プログラム

tcp6       0      0 [::]:www                [::]:*                  LISTEN      1925/java
tcp6       0      0 ip6-localhost:ipp       [::]:*                  LISTEN      1185/cupsd

これは1925年を意味します - java

どうやって殺すか。

答え1

kill -9SIGKILL を送信して、IO を待機していないすべてのプロセスを強制終了できるようにします。

通常のコマンドはkill、プロセスの終了を要求するだけの SIGTERM を送信します。一方、SIGKILL は OS にプロセスを直ちに終了するように指示します。

関連情報