2017-05-10 12 views
1

Tomcatサーバーを停止して起動するためにバッチファイルを書きましたが、失敗した場合にサーバーに大きな負荷がかかることがあります。下記の場合(restart-バッチファイルを使用したTomcat7の再起動の問題

以下
@echo off 

set current_date = %DATE% 
echo Stopping Apache Tomcat service on + %DATE% >> restart.log 
net stop tomcat7 >> restart.log 
net start tomcat7 >> restart.log 

ためのスクリプトは私が取得していますログは私が停止までのタイムラグを使用すべき開始/または力キル・サーバのために行く必要があります

The Apache Tomcat 7.0 Tomcat7 service could not be stopped. 

The service is starting or stopping. Please try again later. 

restart-失敗ですサービスが停止可能でない場合は、このようなものが

+0

はタイムラグがある必要はありませんてみてくださいサービスが開始/停止されるまで、 'net start/stop ...'はトゥイーンを返しません。あなたのサービスに依存関係があるのか​​、停止をサポートしていないのでしょうか?後で 'sc query tomcat'が停止できるかどうかを調べるには' sc qc tomcat'が依存関係(もしあれば)を教えてくれます – elzooilogico

答えて

1

)がありますが

@echo off 

set "current_date=%DATE%" & rem not used!! 

>>"restart.log" (
    echo Stopping Apache Tomcat service on %DATE% 
    rem try to stop service. If failed (||) then kill process 
    net stop tomcat7 2>&1 || (
    for /F "usebackq tokens=2 skip=3" %%i in (`tasklist /FI "services eq tomcat7"`) do (
     echo Failed to stop. Killing process Id %%i 
     taskkill /PID %%i /F >NUL 2>&1 
    ) 
    rem wait 1.5 second 
    ping 1.1.1.1 -w 1500 -n 1 >NUL 
) 
    net start tomcat7 2>&1 
) 
関連する問題