web-dev-qa-db-ja.com

EclipseからTomcatを実行するときにTomcatを殺す方法は?

私はあなたのEclipseダウンロードで配信されるTomcatを実行しています(いいえ、Tomcat全体をダウンロードしてインストールしたくない)、停止または再起動するとハングすることがあり、それを動作させるための唯一の方法はすべてのEclipseを再起動します。 Windowsで使用しています。

Tomcatプロセスを強制終了する方法はありますか(タスクマネージャーには表示されません)。

30
Carlos Sanchez

タスクマネージャーではjavaw.exeとして表示されます。別の方法は、Tomcat/bin/shutdown.batを実行することです。

ハングの問題については、Webアプリケーションが、Tomcatのシャットダウンをブロックしている可能性のあるアンマネージドスレッドを生成していないことを確認していますか?

46
BalusC

Windowsでは、Tomcatがリッスンするポート(以下、8080)がわかっている場合、TomcatプロセスのPIDを見つけてcmdから強制終了できます。

> netstat -aon | find "8080"
  TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       2196
  TCP    [::]:8080              [::]:0                 LISTENING       2196
> taskkill /pid 2196 /f
  SUCCESS: The process with PID 2196 has been terminated.
13
Andrei Epure

Tomcatがタスクマネージャーで見つからない場合は、より良い方法でTomcatをシャットダウンします。

1)TCPView(285kbのみ)を次のリンクからダウンロードしてください。

http://technet.Microsoft.com/en-in/sysinternals/bb897437.aspx

2)フォルダーを抽出し、TCPViewアプリケーションを開始します。

3)Java.exeを右クリックし、プロセスの終了オプションを選択します。

これにより、Tomcatが簡単に停止します。このツールは、ポートの使用状況を監視するのに非常に役立ちます。

[〜#〜] note [〜#〜]:実行中TOMCATPATH/bin/shutdown.batデーモンまたはアンマネージスレッドが含まれている場合、Tomcatをシャットダウンできません。そのような場合TCPViewは問題なく動作します。

10
shivadarshan

EclipseでTomcatサーバーの起動とシャットダウンのタイムアウトを設定できます。これらのタイムアウトを超過すると、Eclipseは、それを強制終了するか、そのまま待機するかを尋ねるメッセージをポップアップします。

これらを設定するには、[サーバー]タブでサーバーの名前をダブルクリックします。次のようなウィンドウが開きます。

Eclipse Tomcat settings

右側に「タイムアウト」セクションがあります。スタートアップを1日に設定し(タイムアウトせずにスタートアップをデバッグできるようにします)、30秒にシャットダウンして寛大にします(通常、これは非常に短い可能性があります。ほとんどのアプリは問題なく強制シャットダウンに耐えることができるためです)。

1
squaregoldfish

Linuxを使用している場合は、次の手順を試してください。

  1. Tomcatプロセスのリスト(例:ps aux | grep catalina
  2. 次のような文字列を見つけます:myname 2244 5.5 0.3 57020937 2110741 ? Sl Oct03 5160:01 /usr/lib/jvm/Java-1.8.0-<...>/bin/Java <...> org.Apache.catalina.startup.Bootstrap start
  3. /usr/lib/jvm/<...><...>.Bootstrapの間のすべてをコピーして貼り付けます
  4. コマンドの最後にstopを追加して実行します

基本的に、Tomcatを起動し、Tomcatを停止するために最後の引数を変更するためにEclipseで使用されたのとまったく同じコマンドを使用します。

0