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

 

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