1. 程式人生 > >tomcat“閃退” 程序終止排查-程序退出、解決方案

tomcat“閃退” 程序終止排查-程序退出、解決方案

Tomcat程序意外退出的問題分析

早上6點接到電話java伺服器掛掉了,本能的立刻清醒起來檢視伺服器狀態,發現tomcat確實停止運行了,立刻的重啟了之後去找問題所在(ps:這個問題體現了叢集負載均衡是多麼重要,伺服器幾乎崩潰一晚上)

錯誤排查思路:首先想到的是伺服器是否負載導致tomcat閃退(stackoverflow/outofmemoryerror),hs_err_pid.log檔案未生成,表明jvm正常執行,然後去檢視tomcat日誌


此處顯示tomcat停止於02:53:00,而且無任何錯誤,tomcat是正常關閉的!!!看清楚這是正常關閉的,根本不存在負載退出的情況

本能想到怕是要被黑客爆ju了,查看了tomcat最後的訪問地址無異常


檢視伺服器負載情況(指系統,因為使用的是阿里雲伺服器,當然的有記錄崩潰時伺服器的執行狀態)一切正常,無任何可疑地方,使用stat "命令地址" 查詢系統命令是否有修改過

例如:

未發現異常,繼續查詢遠端終端登入情況last 命令查詢


登入終端也是正常,都是本人自己的ip,試想好不好被linux終止了tomcat程序於是去查詢/var/log/message 日誌資訊


未發現異常,緊接著去查詢/var/log/secure日誌檔案


這次發現了有趣的事情,sshd關閉了遠端連線時間與tomcat程序終止時間完全吻合,定位了問題之後就方便多了,查詢了一些資料之後重現了tomcat程序“閃退”,總的來說是因為釋出版本完成之後未關閉shell指令碼,指令碼還在掛著tailf檢視日誌,電腦休眠之後sshd主動關閉了遠端連線,java程序仍屬於shell程序組裡的成員,收到

SIGHUP後退出,自己寫了個簡單的指令碼重現了當時的情況。確定了問題就是這個原因。

如果我們在shell腳本里設定開啟作業控制的話,就不會讓tomcat程序退出了,總算是虛驚一場,是自己的原因導致tomcat程序結束,並不是黑客入侵~

總結:啟動完成之後需要關閉退出指令碼,就不會出現sshd關閉遠端連線而使程序終止了,當然更好的辦法是在指令碼中加入設定開啟作業控制(分開程序組)就不會出現這個問題啦~

每個人碰到的閃退問題可能不一致,但排查的思路還是值得學習的~

借鑑文章:http://ifeve.com/why-kill-2-cannot-stop-tomcat/

set -m 

相關推薦

tomcat退程序終止排查-程序退出解決方案

Tomcat程序意外退出的問題分析 早上6點接到電話java伺服器掛掉了,本能的立刻清醒起來檢視伺服器狀態,發現tomcat確實停止運行了,立刻的重啟了之後去找問題所在(ps:這個問題體現了叢集負載均

運行Tomcat退問題,報的錯誤:Unsupported major.minor version 51.0

nbsp adc bootstra def nal 一個 org trap myeclips 在MyEclipse中運行tomcat,tomcat閃退並且報以下錯誤。 java.lang.UnsupportedClassVersionError: org/apache/ca

tomcat退無法啟動 the catalina_home environment variable is not defined correctly this environment variable is needed to run this program

新增 cor sta 啟動tomcat 計算 jdk版本 ogr jdk 環境變量 未成功配置CATALINA_HOME 1、計算機>屬性>環境變量, 新建環境變量。變量名為CATALINA_HOME ,變量值tomcat的解壓目錄,註意後面不用多加“\”或者

tomcat退解決

就是 not found pos study 新版本 col stat 提示 jdk 下載了最新版本的tomcat,是解壓版的,完事後就閃退。 但我的jdk是安裝好的,在命令提示符中測試java,javac,java -version等命令都是好使的。 我的解決方法是: 1

解決Tomcat退

1 首先考慮的是端口占用 2 現在講的是這一種方法   (1)找到解壓縮的檔案的bin目錄 找到startup.bat 記事本開啟     開頭加上兩句話 SET JAVA_HOME=D:\N\W\JDK8//這裡是jdk的安裝目錄 SET TOMCAT_HOME=D:\N\JD\apache-to

tomcat退但不是環境變數的問題

這個tomcat卡住很難受,環境變數配置沒有問題,但是就是啟動不了 ,網上看到一篇部落格可以檢視閃退的資訊,轉載一下 Tomcat伺服器啟動時閃退,就我目前碰到的情況說下解決辦法: 第一種:按照網友的解決方案,在命令列cd到tomcat安裝目錄的bin目錄下,例如

tomcat退

網上說的什麼path、在bat檔案新增兩行程式碼,都統統不可以 還好找到了這個大神寫的解決方法 開啟tomcat/bin/setclasspath.bat 新增 set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_191 se

Tomcat退問題常見解決方案

Tomcat下載解壓完成後, 雙擊bin 中 的startup.bat 後閃退: 解決步驟1: 出現第一個dos視窗時閃退: 第一步:右鍵點選startup.bat , 選擇編輯 , 在最後一行加上

tomcat退解決辦法

tomcat 啟動的時候會閃退可以通過如下方法進行解決: 進入到tomcat的bin檔案中,找到startup.bat檔案,右鍵—》編輯在檔案頭部中新增 SET JAVA_HOME=C:\Progr

iis7執行php時出現FastCGI程序意外退出解決方案

最近換了個win7的系統,安裝了iis7,配置了fastcgi執行php,但是在執行php網站時出現了500錯誤,FastCGI程序意外退出同時php-cgi.exe程序崩潰。 如圖 這個問題一般都是php配置出了問題導致的。 我的解決方法一般都是先將php程

關於Tomcat的環境變數的配置,用於解決Tomcat退

話不多說 首先保證你的java相關環境變數設定好了(可以在命令列測試java和javac自行百度) 先把你安裝的位置記下來比如我這裡的是D:\system_sowave\apache-tomcat-9.0.0.M26 接下來分別是變數和變數值 CATALINA_HOME D

啟動tomcat退 解決辦法

問題描述: 在服務裡啟動tomcat,立馬變為停止(閃退) 日誌描述: 警告: Catalina.start using conf/server.xml: 元素型別 “Context” 必須由匹配

解決啟動Tomcat退的問題

出錯過程今天把war包放到Tomcat的webapps資料夾之後,點選startup.bat閃退。出現了這種情況之後,好多人摸不著頭腦,從日誌檔案裡面也查不到原因。解決方式一:這時候,我們可以嘗試用下列方式進行處理,找到病根:step1:配置環境變數保證環境變數CATALIN

windows下安裝tomcat退問題

博主java用的是server-jre-8u144-windows-x64.tar.gz 也就是伺服器版的,只有執行環境 沒有開發環境 等我環境變數配置完成後,java環境能跑起來,可tomcat解壓後一直閃退,進入安裝目錄,執行startup.bat 報錯如下圖提示JRE_

啟動Tomcat退無法啟動原因解決

set JAVA_OPTS=-server -Xms256m -Xmx1300m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:-UseGCOverheadLimit -XX:+UseConcMarkSweepGC -Dsun.rmi.dgc.client.gcInte

linux子程序知道父程序退出解決方案

在實際開發中難免會處理程序間的關係,最常見的是父子程序的相互監督。父程序等待子程序,或者自程序知道父程序執行是否結束,以方便釋放資源。 一、關於程序 程序是作業系統進行資源分配和排程的基本單位。linux系統使用fork建立程序,程序pid 0是swapper程序,程序pi

impdp匯入時 ORA-39014: 一個或多個 worker 程序已過早地退出問題解決

在使用impdp導資料庫的時候,提示分配空間時記憶體不足ORA-39014: 一個或多個 worker 程序已過早地退出。 ORA-39029: worker 程序 2 (程序名為 "DW00") 過早地終止 ORA-31671: Worker 程序 DW00 有未處理的異常

學習Servlet,jdbc以及Tomcat退解決辦法的隨筆

driver 1.8 問題 ros drive character 找到 tar 配置環境變量 Tomcat閃退解決辦法:(個人遇到情況的解決方法) (1)找到解壓縮的文件的bin目錄 找到startup.bat 記事本打開     開頭加上兩句話       SET

***微信公眾號支付+微信H5支付+微信掃碼支付+小程序支付+APP微信支付解決方案總結

ati asc alt creat chapter edit 隨機字符串 glob 測試 最近負責的一些項目開發,都用到了微信支付(微信公眾號支付、微信H5支付、微信掃碼支付、APP微信支付)。在開發的過程中,在調試支付的過程中,或多或少都遇到了一些問題,今天總結下,分享,

Docker容器一起動就退出解決方案

bash tex contain 現象 網上 ffffff 技術 參數 ces 問題現象: centos 啟動一個容器添加了-d 參數,但是docker ps 或者docker ps -a查看卻已經退出了shell>docker run -d centosa44b2b