Centos7 如何设置开机启动某个程序

发布时间:2024年01月20日

以设置自动启动sentinel-dashboard作为案例

要在CentOS 7上设置开机启动一个Java程序,你可以按照以下步骤进行操作:

1. 进入应用程序的目录

cd /usr/local

vim sentinel-dashboard.sh

2. 在sentinel-dashboard.sh 文件中 输入启动脚本

nohup java -Dserver.port=8090 -Dcsp.sentinel.dashboard.server=localhost:8090 -Dproject.name=sentinel-dashboard -jar /usr/local/sentinel-dashboard.jar >/usr/local/log/out.log 2>&1 &

解释一下,这里nohup 是表示后台运行程序,2>&1:在这里,2代表标准错误输出,而1代表标准输出。2>&1的意思是“将标准错误输出重定向到标准输出的同一位置”。由于标准输出已经被重定向到out.log文件,因此这实际上意味着标准错误输出也被重定向到该文件。? ?

注意:我的Centos配置了Java环境,单丝放在 rc.local 中执行却不起作用,这点我没明白,所以上述命令跑一直失败,后来我猜想可能Java环境在这里失效,改成指定Java位置就可以了,服了

nohup /opt/software/jdk-17.0.9/bin/java -Dserver.port=8090 -Dcsp.sentinel.dashboard.server=localhost:8090 -Dproject.name=sentinel-dashboard -jar /usr/local/sentinel-dashboard.jar >/usr/local/log/out.log 2>&1 &

3. 给sentinel-dashboard.sh添加执行权限

chmod 700 sentinel-dashboard.sh

4. 试一下,看看能不能正常启动

sh sentinel-dashboard.sh
试了,可以访问

5 设置开机启动

编辑vim /etc/rc.d/rc.local,在这个文件的最后面加上

vim /etc/rc.d/rc.local

6、最后给 /etc/rc.d/rc.local 文件设置可执行权限才会生效

chmod +x /etc/rc.d/rc.local

7. 重启服务

reboot

8. 开机自启动失败,问题排查

?如果遇到开机启动失败问题可以运行下面这些命令进行调试,查看是否正常启动,如果status如下图这样说明启动成功了,如果失败的话,可以看看本文的第3步,检查是不是环境问题

systemctl status rc-local.service

systemctl start rc-local.service

systemctl stop rc-local.service

systemctl restart rc-local.service

文章来源:https://blog.csdn.net/u010887012/article/details/135702947
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。