1. 程式人生 > >linux下jar包的開機自動啟動

linux下jar包的開機自動啟動

開發環境執行  因為這個訊息轉發就是接入SDK,然後對訊息進行處理,處理完畢之後按著C#程式設計師給我的格式,對處理完畢的訊息進行型別轉換並json一下,然後傳送到MQ佇列,很簡單,所以就打算用jar包的形式做後臺跑在linux伺服器上,那麼我們很簡單的方法可以實現這個問題:

nohup /usr/java/jdk1.8.0_112/bin/java -jar /root/java/MessageForwarding.jar  >/root/java/message.log & 1 通過nohup指令使程式不依賴於控制檯,這樣執行完畢之後可以ctrl+c,程式還繼續執行,上面的日誌講jar包裡面的列印語句都輸出到了message.log裡面,這樣在程式裡面的日誌都能夠檢視,當然看看需不需要寫一下定期清理,視情況而定了。這樣滿足了基本的功能需求,但是linux重啟自後怎麼辦?其實這一塊說起來簡單,過程可能有點彎。  方法一:  通過java wrapper做這一塊工作,詳細的過程可以搜一下java wrapper,這方面的教程很多,這裡貼一個官方網站吧:  https://wrapper.tanukisoftware.com

方法二:  通過我瞭解的linux的開機啟動檔案,我想通過shell指令碼完成這個事,我先把jar包放到/root/java/MessageForwarding.jar這裡,然後編輯一個簡單的shell指令碼(MessageForwarding.sh):

# !/bin/bash # program # test java open

export JAVA_HOME=/usr/java/jdk1.8.0_112 export JRE=/usr/java/jdk1.8.0_112/jre export CLASSPATH=$JAVA_HOME/lib:$JRE/lib:. export PATH=$PATH:$JAVA_HOME/bin/:$JRE/bin nohup java -jar /root/java/MessageForwarding.jar >/root/java/message.log & 當然很簡單,這就是執行jar包,執行一下,執行這個sh檔案,沒有問題:可以通過:  ps -ef|grep java查詢一下程序。

開機啟動就需要操作/etc/rc.local檔案,有可能linux系統不同檔案有些區別,我之前看別的部落格就沒成功,只要在這裡執行這個檔案就OK了。