校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 一次因信號量引發的tomcat異常退出解決

一次因信號量引發的tomcat異常退出解決

熱門標簽:江蘇電銷外呼防封系統是什么 金融行業外呼線路 東莞人工智能電銷機器人供應商 智能電話機器人線路 廣州電銷機器人系統圖 賀州市地圖標注app 長沙開福怎么申請400電話 高德地圖標注無營業執照 百度地圖標注要不要錢

近期在玩大數據。有個朋友找過來,說他線上的tomcat會莫名其妙的退出,表示非常苦惱,請我幫看看。每次他發現退出了,都通過騰訊云的WEB控制臺登錄,啟動tomcat。

本著助人為樂(shao kao hao chi)的精神,我連上去開始分析。首先肯定是看tomcat的日志,看看有沒有記錄到相關信息,是什么途徑退出的。

從日志上看,tomcat收到了退出請求,并按照要求關閉容器。那么是否可以認為是有人執行了shutdown.sh呢?并不能。執行了shutdown腳本的關閉日志是這樣的。

與其相關的tomcat源碼截圖如下。截圖左側有行號。

tomcat啟動時,設置await,等待關閉指令進入。org\apache\catalina\startup\Bootstrap.java

catalinaDaemon的定義如下。

org\apache\catalina\startup\Catalina.java

具體實例化時,會將接口Server的實例指向StandardServer。類路徑如下。

org\apache\catalina\Server.java

org\apache\catalina\core\StandardServer.java

而StandServer中的輸出相關日志的源碼如下:

讀取的配置文件為org\apache\catalina\core\LocalStrings.properties

當tomcat收到正經的關閉指令時,會輸出此日志,說明是收到指令關閉容器。

正經的指令關閉容器,相關代碼如下。

那么,現在的證據說明,這個tomcat不是通過SHUTDOWN報文關閉的。而且,從下圖來看,也頗能說明這個SHUTDOWN指令不是這么容易發成功的。

那么現在可能性最大的辦法就是通過KILL指令來操作。執行bash腳本需要登錄機器,那么從wtmp、utmp查找一下這個時間點的登錄記錄呢?

下面是IPIP的結果。

換言之,23日早上tomcat異常退出的時候,有一個來自騰訊云的BGP機房的地址也巧合的斷開了會話。而我這個朋友的機器就放在騰訊云。有點奇怪是嗎?

繼續追查,連續追溯幾天的tomcat日志,比對utmp、wtmp結果,再比對IPIP結果,都是如此。來自騰訊云BGP機房的會話斷開,tomcat同一時間點退出。精確到秒級。連續多天出現很多次,說明tomcat退出和WEB會話退出是具備因果關系的。

經過詢問,朋友確認他是習慣于使用WEB控制臺的方式登錄服務器,啟動了tomcat以后就丟在一邊,開始調試接口了。那么有什么可能會導致這樣的因果關系出現?這就要說到Linux系統的一個歷史悠久的進程間通信的機制——信號量。

具體信號量是什么,請自行查詢相關資料了解學習。針對本次問題,可以簡單的理解為進程間通訊的一種機制。

進程A需要進程B做點事,而進程間的內存區域某種意義上說是互不可見的。這個時候就需要通過信號量來完成。進程A可以按照預先定義的信號量規范向進程B發出信號量,當進程B收到后,根據具體信號量的值決定處理邏輯。具體信號量清單,可以在命令行通過如下命令查詢。命令中均為字母,沒有數字1。

這其中最常見的就是9,SIGKILL。當進程收到此信號量時,會被KILL掉。此信號量由操作系統處理,應用不能處理。在vista之前的windows系統中,是有辦法滲透到內核中的。此時可以攔截類似WM_CLOSE之類的消息,讓某個程序無法關閉。到了win7、win10時代,已經不能使用此類技巧了。

此外,我們熟悉的CTRL + C操作,發出的是SIGINT。有些場景下,我們需要通知程序優雅的退出,此時可以發出SIGQUIT,也就是kill -3。

那么WEB控制臺會話斷開,會發出什么信號量呢?我們來試試就知道了。Java雖然說不能操作系統底層,但是sun.misc包有驚喜哦。代碼如下。

如圖所示,這段代碼會在收到信號量時輸出線程名稱,信號量名稱,并翻譯成具體的數字。隨后,在main函數中,我“注冊”了HUP、INT、ABRT、TERM四種信號量。注冊四種是因為不清楚具體會發什么出來,索性有可能的都搞起來。

編譯,打包。此處有一個問題需要注意,由于信號量屬于操作系統底層機制,每個不同操作系統所支持的信號量是不同的,JVM中通過private static native int findSignal(String paramString)提供支持。native方法涉及具體VM實現,不貼代碼了。不過很容易想到的是,windows和linux當然不同。所以此處就要在上位機編寫,下位機調試了。windows底下運行報錯可不要慌張哦。

接下來的事情就簡單了。把程序上傳服務器,通過WEB控制臺登錄服務器,將執行結果重定向到文本文件中,然后靜待控制臺超時。結果如下。

結果不用再分析了,WEB控制臺會在退出時發出SIGHUP,相當于kill -1。而tomcat在收到SIGHUP會怎么操作呢?小伙伴們可以試試看kill -1 pid,再看看日志,就明白了。

解決方案其實也簡單。SIGHUP是HANG UP的意思,可以用nohup xx.sh &來徹底屏蔽SIGHUP和SIGINT。另外,經過測試發現,通過單擊SecureCRT的tab頁右側的×也可以觸發信號量,而直接logout或者點菜單上的紅叉則并不會觸發。

感興趣的小伙伴可以把這個程序擴展一下,測測看。說不定你的異常退出問題也能迎刃而解呢。

此問題的解決離不開上海中通的劉建剛同學,特此致謝。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。

標簽:玉樹 張家界 洛陽 滄州 北京 永州 廊坊 松原

巨人網絡通訊聲明:本文標題《一次因信號量引發的tomcat異常退出解決》,本文關鍵詞  一次,因,信號,量,引發,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《一次因信號量引發的tomcat異常退出解決》相關的同類信息!
  • 本頁收集關于一次因信號量引發的tomcat異常退出解決的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产高清不卡一区二区| 国产揄拍国内精品对白| 久久激五月天综合精品| 精品久久久三级丝袜| 国产精品一区二区无线| 国产日韩欧美不卡在线| 97aⅴ精品视频一二三区| 亚洲va欧美va人人爽午夜 | 91麻豆国产在线观看| 亚洲不卡在线观看| 国产欧美视频一区二区| 欧美日韩一区二区三区四区五区| 美女视频黄频大全不卡视频在线播放| 久久精品在这里| 欧美性色黄大片手机版| 国产精品18久久久久久久久久久久 | 亚洲美女免费在线| 欧美一区二区免费视频| av中文字幕不卡| 日韩国产一二三区| 国产欧美日韩麻豆91| 在线观看亚洲精品视频| 国产精品99久久久久久久vr | 蜜臀99久久精品久久久久久软件| 欧美激情一区二区三区在线| 欧美性大战久久久久久久| 国产一区二区福利视频| 日韩影院免费视频| 亚洲三级电影全部在线观看高清| 欧美一级视频精品观看| 欧美性一级生活| 91免费在线播放| 国产69精品久久久久毛片| 久久国产剧场电影| 美女爽到高潮91| 日韩av中文字幕一区二区三区| 亚洲精品国产无天堂网2021| wwwwxxxxx欧美| 日韩一区二区在线看| 精品视频在线视频| 欧美日韩成人在线| 欧美日韩中文一区| 欧美日韩精品一区二区三区四区| 色哟哟亚洲精品| 色综合一区二区| 色婷婷亚洲综合| 欧美性受极品xxxx喷水| 欧美日韩一区二区三区四区五区| 精品视频在线视频| 91麻豆精品国产91久久久资源速度| 色婷婷精品久久二区二区蜜臀av| av男人天堂一区| 91麻豆.com| 欧美亚洲禁片免费| 欧美日韩视频专区在线播放| 欧美精品高清视频| 欧美xxxx在线观看| 中文字幕不卡的av| 1区2区3区精品视频| 亚洲欧美一区二区三区久本道91 | 国产欧美精品在线观看| 国产情人综合久久777777| 国产日韩欧美激情| 亚洲女同女同女同女同女同69| 一区二区三区四区蜜桃| 婷婷开心久久网| 韩国v欧美v亚洲v日本v| 成人综合日日夜夜| 色婷婷亚洲精品| 日韩欧美中文一区二区| 国产人久久人人人人爽| 亚洲综合在线五月| 麻豆精品一区二区| 99久久精品一区| 69精品人人人人| 国产精品久久久久久久久免费相片 | 亚洲视频综合在线| 日精品一区二区| 国产成人综合视频| 在线一区二区三区四区五区| 91精品国产综合久久精品| 国产网站一区二区三区| 亚洲国产精品一区二区久久恐怖片| 美女高潮久久久| 99久久99久久精品免费观看| 欧美日韩夫妻久久| 国产精品久久久久久久久晋中 | 热久久国产精品| 成人激情动漫在线观看| 欧美精品在线一区二区三区| 亚洲国产精品99久久久久久久久| 亚洲第一激情av| www.亚洲人| 精品国产在天天线2019| 亚洲欧美国产高清| 国产成人高清视频| 日韩午夜三级在线| 亚洲国产日产av| 91亚洲资源网| 国产精品久久综合| 国内偷窥港台综合视频在线播放| 精品视频全国免费看| 最新欧美精品一区二区三区| 精品一区二区三区免费| 欧美一区二区三区四区久久| 亚洲欧美视频在线观看| 成人蜜臀av电影| 国产偷国产偷精品高清尤物| 精品亚洲成a人在线观看| 69久久夜色精品国产69蝌蚪网| 一区二区三区精品在线| av午夜一区麻豆| 中文字幕av不卡| 成人精品免费看| 久久久久久免费毛片精品| 免费在线观看精品| 4hu四虎永久在线影院成人| 亚洲精品第1页| 91国偷自产一区二区使用方法| 亚洲日本在线天堂| 一本色道久久综合精品竹菊| 国产精品美女久久久久久2018 | 国产精品亚洲第一区在线暖暖韩国 | 亚洲综合网站在线观看| 97精品电影院| 亚洲天堂2014| 欧美日韩一区二区在线观看| 婷婷开心久久网| 欧美一区二区三区喷汁尤物| 日本欧美一区二区三区| 欧美一区二区三区在线电影| 麻豆国产精品一区二区三区| 日韩女优电影在线观看| 六月丁香综合在线视频| 26uuu国产在线精品一区二区| 精品一区二区三区香蕉蜜桃| 国产偷v国产偷v亚洲高清| 99热99精品| 亚洲国产成人av好男人在线观看| 精品视频1区2区| 开心九九激情九九欧美日韩精美视频电影 | 国产在线播精品第三| 国产精品欧美久久久久无广告 | 在线观看网站黄不卡| 亚洲一线二线三线久久久| 欧美蜜桃一区二区三区| 精品一区中文字幕| 国产精品免费视频网站| 色婷婷精品大视频在线蜜桃视频| 亚洲最大成人综合| 久久综合久久鬼色| 91在线观看污| 午夜精品国产更新| 2020国产精品久久精品美国| 93久久精品日日躁夜夜躁欧美| 亚洲第一在线综合网站| 久久久久久电影| 欧美日韩色一区| 国产精品一级在线| 亚洲国产成人91porn| 精品久久久久久无| 色综合久久88色综合天天免费| 日韩成人午夜电影| 综合网在线视频| 久久这里只有精品首页| 91福利国产成人精品照片| 狠狠色丁香久久婷婷综合_中| 亚洲蜜臀av乱码久久精品蜜桃| 久久毛片高清国产| 欧美伊人久久久久久午夜久久久久| 狠狠久久亚洲欧美| 一区二区三区免费在线观看| 久久久精品2019中文字幕之3| 欧美日韩中文字幕一区二区| 丁香另类激情小说| 精品一区二区三区在线播放视频| 一区二区欧美视频| 国产精品久久久久婷婷| 26uuu亚洲综合色欧美| 欧美另类videos死尸| 91麻豆精品在线观看| 成人性生交大片免费| 国产综合一区二区| 蜜臀国产一区二区三区在线播放 | 国产亚洲欧美激情| 欧美男男青年gay1069videost| av电影在线观看完整版一区二区| 久久精品国产77777蜜臀| 亚洲一二三区视频在线观看| 国产精品免费视频观看| 久久蜜臀中文字幕| 久久色在线视频| 日韩欧美中文一区二区| 538在线一区二区精品国产| 欧美午夜精品一区二区蜜桃| 91免费看视频| 欧美性猛交xxxx黑人交| 欧美色图天堂网| 在线看日韩精品电影| 在线免费观看日本欧美|