TomcatのLinuxシステムは、プロセスの多くのTomcatを再起動し、殺す-9殺すために、サーバで、その結果、自動的に時限スクリプト監視タスクを展開する必要があります解決するために一連の問題を浮上しました。

免責事項:この記事はブロガーオリジナル記事ですが、許可ブロガーなく再生してはなりません。https://blog.csdn.net/sgl520lxl/article/details/60880375

TomcatのLinuxシステムがすべき定期的な監視タスクのスクリプトも自動的にプロセスの多くのサーバーの再起動のtomcatで、その結果、展開、殺す-9殺すためには、解決するために、一連の問題を浮上しました。


-ef #ps | grepのTomcatのTomcatは殺す、同じプロセスの多くのTomcatで、プロセスを見-9完成殺害はしばらく後に表示され、任意の時点でPID変更します。


私が最初に実行Tomcatのbinディレクトリに行くために初めて考え#1 ./shutdownのコマンドは、通常のシャットダウンTomcatを望んでいた、それを閉じることはできません。


だから、様々な方法が再び試みられている見つけるためにGoogleに行くが、ほとんどは私が殺してみましょう-9コマンドpatricideプロセス、それは私の問題の有効な解決策ではありません。私が編集しましょうあり、ビン/ catalina.shのファイルシャットダウンを.SH pidが死んで書く場合、ファイルプラスpidは、Tomcatをシャットダウンするように設定pidで直接閉鎖し、私のTomcatのプロジェクトは、スクリプトファイルを使用して自動サイクル展開プロジェクトであるとき、それは間違いなく、後からプロジェクトの展開に影響を与えますので、この方法を放棄(PS:私はないDaoxingわからないが、この方法は試していない指揮);

だから今、それは頭痛である、私は定期的なタスクに行くことにしたスクリプトを防ぐために、半時間ごとに自動的に展開(それは、ドメインがプロジェクトにアクセスすることはできません検出した場合、それは自動的にTomcatを再起動します)タスクを検知行われ、停止しました

表示スケジュールされたタスクは、コマンド:のcrontab -l


:スケジュールされたタスクのコマンド変更のcrontab -eを

次のように:

[ルート@ UbitechLinux31ビン]#のcrontab -l
#* / 30 * * * * /ttcShell/refreshRelease/refresh.sh >> / ttcShell / refreshRelease / refresh.txt 2>&1
#* / 30 * * * *は/ usr / tomcat_pool / tomcat_ttc_2 / refreshMySql / refresh.sh 2 >>は/ usr / tomcat_pool / tomcat_ttc_2 / refreshMySql / refresh.txt
#29 17 * * * /home/refresh/refresh.sh >> /ホーム/リフレッシュ/ refresh.txt 2> &1
20 01 * * * /data/ttcDataBackup.sh> /data/ttcDataBackup.txt 2>&1


使用できるコマンドログを表示するには、スケジュールされたタスクにより、同行:私は、タスクが(#1 /etc/init.d/crondの再起動を最も良く、その後、通常のタスクが効果変更コマンドを取るために再起動を実行しましょう):コメントアウトされた時限#viを/ var / log / cronの

半時間後、私は、スクリプトの実行をログに記録しないログを見て停止しました。

Tomcatは、彼女が無限ループ、卵の痛みを行うように、まだ起動タスクで、見て内側にログインすることができます。


当初の予定が、タスクが閉じものでなければならLinuxシステム監視プロセスだけでなく、スクリプトプロセスのためにされている必要があります!


#ps -ef | grepをttcShell(スクリプト名)


スクリプトに関連するすべてのプロセスを表示し、プラスのすべてのポートが殺す-9殺すために

次に、ディレクトリのtomcatスタートアッププロジェクトに行きます

(スクリプトプロセスが見つからなかった前に解決策は完璧ではありません前に、これらの線が相補的である上に、次の資料では、あります)




今の状況は殺さない殺すことです、また遮断余裕がないことができ、かつ定期的なタスクのスクリプトがコメントアウトされています。


だから、GoogleのBaiduは、すべてのTomcatプロセスを殺すために非常に効果的な方法を見つけるための方法を見つけるために続けて

Tomcatはすべてのプロセスを殺す(適切な場合には、ps -efなどパス| grepのはTomcatは、パスを参照してくださいすることが可能である)

 のkillall -9 /usr/java/jdk1.8.0_112/jre/bin/java


実行後は、ps -efは|グレップのTomcatは
Tomcatのプロセスが実際に行って見ると、このコマンドは本当に岩!


そして、私の心は非常に満足し、限り、それらの嫌な無制限オフターンとしてTomcatプロセスが容易登場することを考えて、私はあまりにも若かったという事実!

Tomcatがシャットダウンすることができますので、ちょうど次のスタートに行き、その後、プロジェクトが訪問することができるはずです!

そして、#の実行/ binディレクトリに移動./startup.shのコマンドを


彼女の母親の卵の痛みの結果、さまざまな誤ったの登場。

/ Tomcatのログを開きcatalina.2017-03-08.logエラーメッセージの内部を見るためにログファイル





痛みグーグルBaiduは、彼らが解決するが、問題の焦点を意識することができなかったのは、セッションマネージャが起動に失敗したのTomcatを開始することです



セッション関連を持つようなので、彼は下のtomcatディレクトリに行ってきました/ confgファイルおよび/作業用にディレクトリカタリナ削除されたファイル。



次に、/ binディレクトリには、Tomcatの起動に行きます!

[OK]を、その後、尾-f Tomcatの印刷ログを見に行きます。エラーなし!そして、アクセスプロジェクトは、通常!!!!幸い、解決しません。

私は、無制限のスタックのプロセスが問題のカタリナファイルを導き、おそらく前に推測する、などのセッションのTomcatの起動に影響を与え、それに関連する問題の上に保持する限り、2つのファイルを削除して、その後、Tomcatを再起動する新しい生成されます。カタリナです!


私も初心者のlinuxだ、この記事の目的でのみ、後で同じエラーが発生したために、作業中に遭遇した自分の問題のいくつかを記録し、追跡することができます。ハハ、スプレーしないでください!

おすすめ

転載: blog.csdn.net/sgl520lxl/article/details/60880375