日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java程序自动重启_让Java程序自动重启的实现方法(推荐)

發布時間:2023/12/14 java 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java程序自动重启_让Java程序自动重启的实现方法(推荐) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

要讓一個java程序自動重啟還真不容易的,重啟分兩步,首先是結束程序,這個簡單,只要運行System.exit()就可以了。然后是啟動,這個就難了,這個時候程序都已經結束了,就像一個人死了就不可能再自己站起來,怎么辦呢?讓別人幫他扶起來,幸運的是,我也有這樣的條件,我要重啟的那個程序并不孤獨,還有另一個java程序和它一起在運行,我只要讓運行著的那個程序來啟動它就可以了。

但運行著的那個程序它怎么知道要關閉的那個程序在什么時候關閉呢,如果不知道就不能貿然啟動。只有讓要關閉的那個程序在自殺前先通知一下了,就是發個信息給運行著的那個程序,告訴它,我要自殺了,你準備重啟我吧。好了,這個也解決了,可以重啟了。

但第二個問題又來了,怎么啟動呢,一般java程序都是用批處理來啟動的,但在程序里像這樣調用批處理文件卻行不通:

try

{

Runtime.getRuntime().exec("要啟動的批處理.bat");

}

catch(Exception e)

{

e.printStackTrace();

}

在java程序里只能調用可執行程序來運行,批處理是不能運行的。怎么辦?沒辦法了嗎?找到一個軟件VisualBat,用它把批處理編譯成可執行程序,這樣就可以了。

好了,現在可以關閉,也可以啟動了,但還有一個問題:我要一天啟動一次而且還要在下午5點時重啟,這個要考慮一下了,最后這樣做,用兩個變量,一個記下程序啟動時的日期,一個記下當前是幾點,只要所記的日期不是今天而且現在又是5點,就可以重啟了。

本以為完成了,但程序閃了一下就不見了。仔細想了一下,可能結束程序與啟動程序間隔時間太短了,舊程序還沒有完全釋放端口,新程序就來搶端口了,由于新程序沒搶到端口,于是就自己關閉了。這個也簡單,只要在啟動前先等一等,Thread.sleep(5000) ,等上5秒,讓端口完全釋放,這時再啟動就可以了。確實如此,這個問題就這樣解決了。

以上這篇讓Java程序自動重啟的實現方法(推薦)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

總結

以上是生活随笔為你收集整理的java程序自动重启_让Java程序自动重启的实现方法(推荐)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。