私はあなたのEclipseダウンロードで配信されるTomcatを実行しています(いいえ、Tomcat全体をダウンロードしてインストールしたくない)、停止または再起動するとハングすることがあり、それを動作させるための唯一の方法はすべてのEclipseを再起動します。 Windowsで使用しています。
Tomcatプロセスを強制終了する方法はありますか(タスクマネージャーには表示されません)。
タスクマネージャーではjavaw.exe
として表示されます。別の方法は、Tomcat/bin/shutdown.bat
を実行することです。
ハングの問題については、Webアプリケーションが、Tomcatのシャットダウンをブロックしている可能性のあるアンマネージドスレッドを生成していないことを確認していますか?
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.
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は問題なく動作します。
EclipseでTomcatサーバーの起動とシャットダウンのタイムアウトを設定できます。これらのタイムアウトを超過すると、Eclipseは、それを強制終了するか、そのまま待機するかを尋ねるメッセージをポップアップします。
これらを設定するには、[サーバー]タブでサーバーの名前をダブルクリックします。次のようなウィンドウが開きます。
右側に「タイムアウト」セクションがあります。スタートアップを1日に設定し(タイムアウトせずにスタートアップをデバッグできるようにします)、30秒にシャットダウンして寛大にします(通常、これは非常に短い可能性があります。ほとんどのアプリは問題なく強制シャットダウンに耐えることができるためです)。
Linuxを使用している場合は、次の手順を試してください。
ps aux | grep catalina
)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
/usr/lib/jvm/<...>
と<...>.Bootstrap
の間のすべてをコピーして貼り付けますstop
を追加して実行します基本的に、Tomcatを起動し、Tomcatを停止するために最後の引数を変更するためにEclipseで使用されたのとまったく同じコマンドを使用します。