centos7添加java自定義腳本開機自啓動

1.  新建自定義啓動java程序腳本

ex:在/root/uwb_workspace/pubsubAPI/路徑下有一個start_pusub_api.sh

2.  在/etc/rc.local裏面添加啓動命令

cd /root/uwb_workspace/pubsubAPI/

./start_pusub_api.sh

然後重啓測試發現沒有起作用!!! why? WTF!!!

這是因爲本機java的安裝是直接解壓jdk包到centos下面,java需要配置環境變量才能直接使用java cmd。linux在運行命令的時候如果沒有找到程序就會去環境變量裏邊查找,要使配置文件起作用是需要使用source命令生效的。 


以下內容引用自 https://blog.csdn.net/bbg221/article/details/78361246

在linux啓動過程中,可以看成有幾個階段,比較尷尬的是環境變量配置文件生效這個操作就有點晚。 而且在rc.local文件中有這麼一段話:

也就是centos7版本的時候,這個文件內的命令將會跟其他啓動服務並行,不會在系統完成啓動結束後再執行;這樣就導致了環境變量生效在java程序啓動腳本運行之後。


解決:

在java啓動自定義腳本之前需要使java環境變量生效,在/etc/rc.local裏面添加:

source /etc/profile

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章