2011-06-23 6 views
4

Tomcat 6.0.32がインストールされており、Webアプリケーションが実行されています。通常の停止/開始は、Tomcatが適切に起動または停止されたときに正常に動作します。しかし、私が始動の途中にある時に私は風袋を止めようとすると、ストップは失敗します。Tomcat6のシャットダウンに失敗しました

$service tomcat6 stop 

Stopping tomcat6:           [FAILED] 

ログにエラーがある:

SEVERE: Catalina.stop: 
java.net.ConnectException: Connection refused 
     at java.net.PlainSocketImpl.socketConnect(Native Method) 
     at java.net.PlainSocketImpl.doConnect(Unknown Source) 
     at java.net.PlainSocketImpl.connectToAddress(Unknown Source) 
     at java.net.PlainSocketImpl.connect(Unknown Source) 
     at java.net.SocksSocketImpl.connect(Unknown Source) 
     at java.net.Socket.connect(Unknown Source) 
     at java.net.Socket.connect(Unknown Source) 
     at java.net.Socket.<init>(Unknown Source) 
     at java.net.Socket.<init>(Unknown Source) 
     at org.apache.catalina.startup.Catalina.stopServer(Catalina.java:422) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at org.apache.catalina.startup.Bootstrap.stopServer(Bootstrap.java:338) 
     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:416) 

私も力を使って試してみましたが、それは動作しません。誰もがこの問題を解決する方法を知っていますか?

注:起動の途中でtomcat6(6.0.24)を停止できましたが、6.0.32バージョンでは動作していません。どんなヘルプ/情報も大きな助けになるでしょう!

+0

あなたはpidのkill -9を発行してみましたか? – Joe

+0

こんにちはJoe、はい、私はkillコマンドがプロセスを終了させることを知っています。私は、スタートアップの途中であっても、私が望むたびにTomcatを止めるための優雅な方法が必要です。今まで6.0.32にアップグレードするまで問題はありませんでした。このバージョンを使用して停止問題を解決したいと考えています。 –

答えて

4

これは、同じ問題に遭遇した人を助けるためです。変更の仕組みについて私には何の説明もありませんが、問題を解決して他の人に転記してください。

/etc/init.d/tomcat6に「parseOption」という関数があり、configファイルで指定された構成を解析します。この関数は他の関数[stop/start]で呼び出されており、上記の出力に示されているようにconfigsの解析にはうまくいきます。次のようにストップ機能インサイド

は、それはもともとと呼ばれる:

if [ -f "/var/lock/subsys/${NAME}" ]; then 
     parseOptions 
     $SU - $TOMCAT_USER -c "${TOMCAT_SCRIPT} stop" >> $TOMCAT_LOG 2>&1 

私はに上記の変更:

if [ -f "/var/lock/subsys/${NAME}" ]; then 
    $SU - $TOMCAT_USER -c "${TOMCAT_SCRIPT} stop" >> $TOMCAT_LOG 2>&1 
    parseOptions 

、それが働きました。私は起動の途中で風袋を止めることができました。 残りの停止機能も正しく実行されます[pidファイルの削除、プロセスの強制終了...]。 Tomcatが起動モードまたは起動時にどのように実装されているかは、開始モードで通常の停止が変更なしで正常に機能するため、不明です。

関連する問題