Tomcatを停止してみました。次のメッセージで失敗しました:
私はその後、もう一度試して、これを得ました:
次に、デバッグモードでTomcatを起動してみましたが、次のようになりました。
私は/opt/Tomcat/work/catalina.pidを削除し、再起動してみました。
Tomcatを再起動する方法を知っている人はいますか?
Tomcatは実際に停止したようです。私はそれを始めて、それはうまく始めました。皆さんありがとう。
Linuxサーバーでsecond Tomcatサーバーを起動すると、このエラーメッセージが表示されました。
$CATALINA_PID was set but the specified file does not exist. Is Tomcat running? Stop aborted.
2番目のTomcatを起動するとき、私はCATALINA_PIDを尋ねられたとおりに設定しましたが、私の間違いはそれをディレクトリに設定することでした(Tomcatがそこにpidでデフォルトのファイル名を書き込むと仮定しました)。
修正は、CATALINA_PIDを変更して、ファイル名を末尾に追加することでした(上記の例からcatalina.pidを選択しました)。次に、ディレクトリに移動して、簡単なことを行いました。
touch catalina.pid
正しい名前の空のファイルを作成します。その後、shutdown.shを実行すると、次のメッセージが返されました。
PID file is empty and has been ignored.
Tomcat stopped.
JVMが使用中であったため、Tomcatを強制終了するオプションがなかったため、これを見つけて良かったです。
Tomcatが現在実行されていないこと、およびPIDファイルが削除されていることを確認してください。 Tomcatを正常に起動する必要があります。
新しく始めた場合:
setenv.sh
に<CATALINA_HOME>/bin
ファイルを作成します。CATALINA_PID=/tmp/Tomcat.pid
(または選択した他のディレクトリ)を設定して、Tomcatプロセスをより詳細に制御できるようにします。次に、Tomcatを起動するには、catalina.sh
で<CATALINA_HOME>/bin
を見つけて実行します。
./catalina.sh start
実行を停止するには:
./catalina.sh stop 10 -force
catalina.sh
スクリプトのドキュメントから:
./catalina.sh
Usage: catalina.sh ( commands ... )
commands:
start Start Catalina in a separate window
stop Stop Catalina, waiting up to 5 seconds for the process to end
stop n Stop Catalina, waiting up to n seconds for the process to end
stop -force Stop Catalina, wait up to 5 seconds and then use kill -KILL if still running
stop n -force Stop Catalina, wait up to n seconds and then use kill -KILL if still running
注:-force
フラグを使用する場合は、CATALINA_PID
の設定が必須です。
最近、異常な停止が何度か発生しています。 shutdown.shはいくつかの情報を提供しますが、状況は次のとおりです。
ps -ef| grep Java
無効です。ps -ef| grep Java
はnullではありません。私の意見では、Catalinaのプロセスを強制終了し、pidファイルを削除するだけです(あなたの状況では/opt/Tomcat/work/catalina.pidです)。
結果は他人に影響を与えるほど深刻ではないようです。
最初-> rm catalina.engine
その後-> ./startup.sh
次回の再起動-> ./shutdown.sh -force
私の場合、Tomcat.pidは/ opt/Tomcat/temp /の下にあります。手動で削除しようとしました。それでも動作しませんでした。/opt/Tomcat/bin /のsetnev.shを確認した後、Java_HOMEを定義するコード行があることに注意してください。
export Java_HOME=/usr/lib/jvm/Java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre
この行をコメントアウトし、Tomcatを再起動します。できます! yumの更新とJava 1.8.0.212から1.8.0.222への更新の新しいマイナーバージョン)を行ったので、学んだ教訓:ハードコードは避けるべきです。
あなたの場合、catalina.pidが欠落しています。
このファイルは{your_jira_dir} /work/catalina.pidにあり、jiraの現在のインスタンスのpidが含まれています。
そう
ps aux | grep jira
Sudo systemctl stop Tomcat
私のためにやった
再起動後に同じpidが実行されていると、Tomcatが起動しない場合があります
私のpidファイルはApache-Tomcat/temp/Tomcat.pidにありました
change file Apache-Tomcat/bin/catalina.sh about line 386
from "ps -p $PID >/dev/null 2>&1"
to "ps -fp $PID |grep catalina >/dev/null 2>&1"
catalina.shファイルからの抜粋
if [ ! -z "$CATALINA_PID" ]; then
if [ -f "$CATALINA_PID" ]; then
if [ -s "$CATALINA_PID" ]; then
echo "Existing PID file found during start."
if [ -r "$CATALINA_PID" ]; then
PID=`cat "$CATALINA_PID"`
ps -fp $PID |grep catalina >/dev/null 2>&1 #this line
if [ $? -eq 0 ] ; then
echo "Tomcat appears to still be running with PID $PID. Start aborted."
echo "If the following process is not a Tomcat process, remove the PID file and try again:"
ps -f -p $PID
exit 1
else
echo "Removing/clearing stale PID file."
rm -f "$CATALINA_PID" >/dev/null 2>&1
if [ $? != 0 ]; then
if [ -w "$CATALINA_PID" ]; then
cat /dev/null > "$CATALINA_PID"
else
echo "Unable to remove or clear stale PID file. Start aborted."
exit 1
fi
fi
fi
else
echo "Unable to read PID file. Start aborted."
場所$ {CATALINA_HOME}/logs/open catalina.pidにアクセスできます。ここでpidを取得します。その後、プロセスを終了します。 -9 pidを殺す
試してみました$ Sudo ./catalina.sh stop
?私の場合はうまくいきました。
この種の問題が発生した場合は、いつでもプロセスを強制終了できます。 PSまたはpidファイルからプロセスIDを取得して、プロセスを強制終了できます。