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

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

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

1. 进入应用程序的目录

cd /usr/localvim 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.servicesystemctl start rc-local.servicesystemctl stop rc-local.servicesystemctl restart rc-local.service

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/418966.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[MySQL]基础的增删改查

目录 1.前置介绍 2.数据库操作 2.1显示当前数据库 2.2创建数据库 2.3 使用数据库 2.4 删除数据库 3.常用数据类型 3.1整型和浮点型 3.2字符串类型 4.表的操作 4.1查看表结构 4.2创建表 4.3删除表 5.重点 5.1操作数据库 5.2常用数据类型 5.3操作表 1.前置介绍 …

Pycharm详细安装 配置教程

继上次安装完Anaconda之后,现在更新最新版本的pycharm的安装和使用教程~~~ Anaconda:是一个开源的Python发行版本,其中包含了conda、Python等180多个科学包及其依赖项。【Anaconda和Pycharm详细安装 配置教程_anconda安装时clear the packag…

GoZero微服务个人探究之路(七)添加中间件、自定义中间件

说在前面 官方已经自己实现了很多中间件,我们可以方便的直接使用,不用重复造轮子了 开启方式可以看官方文档 中间件 | go-zero Documentation 实现自定义的中间件 在业务逻辑中,我们需要实现自定义功能的中间件 ------这里我们以实现跨源…

RT-Thread 瑞萨 智能家居网络开发:RA6M3 HMI Board 以太网+GUI技术实践

不用放大了, 我在包里找到张不小的…… 以太网HMI线下培训-环境准备 这是社群的文档:【腾讯文档】以太网线下培训(HMI-Board) https://docs.qq.com/doc/DY0FIWFVuTEpORlNn 先介绍周六的培训是啥,然后再介绍一下要准…

ios适配虚拟home键

在H5开发过程中遇到一个兼容性问题。iphone手机的虚拟home键会对屏幕底部的内容造成遮挡。要处理此问题,需要清楚安全区域这个概念。 安全区域 根据刘海和虚拟Home键,Apple为其设备提供了屏幕安全区域的视觉规范 竖屏:竖屏的时候&#xff…

无法找到mfc100.dll的解决方法分享,如何快速修复mfc100.dll文件

在日常使用电脑时,我们可能会碰到一些系统错误提示,比如“无法找到mfc100.dll”的信息。这种错误通常会阻碍代码的执行或某些应用程序的启动。为了帮助您解决这一问题,本文将深入探讨其成因,并提供几种不同的mfc100.dll解决方案。…

TCP缓存(C++)

系统为每个 socket 创建了发送缓冲区和接收缓冲区,应用程序调用 send()/write()函数发送数据的 时候,内核把数据从应用进程拷贝 socket 的发送缓冲区中;应用程序调用 recv()/read()函数接收数据的时候,内核把数据从 socket 的接收…

Navicat平替工具,一款免费开源的通用数据库工具

前言 前段时间有小伙伴在群里提问说:因为公司不允许使用破解版的Navicat,有好用的Navicat平替工具推荐吗?今天分享一款免费开源的通用数据库工具:DBeaver。 DBeaver工具介绍 DBeaver是一款免费的跨平台数据库工具,适…

负载均衡流程

1、负载均衡流程图 2、触发负载均衡函数trigger_load_balance void trigger_load_balance(struct rq *rq) { /* Dont need to rebalance while attached to NULL domain */ if (unlikely(on_null_domain(rq)))//当前调度队列中的调度域是空的则返回 return; i…

[小程序]API、数据与事件

一、API ①事件监听API 以on开头,用来监听事件的触发(如wx.inWindowResize) ②同步API 以Sync结尾,且可以通过函数返回值获取,执行错误会抛出异常(如wx.setStorageSync) ③异步API 类似网页中的…

v32.条件运算符

1.是三元运算符,需要3个操作数 条件运算符可以替换if-else语句 2. marks > 33是一个表达式,返回值是false/true;等号左边是左值,右边那部分是右值。 如果第一个表达式返回true,那么将第二个表达式返回&…

【日常聊聊】边缘计算的挑战和机遇

🍎个人博客:个人主页 🏆个人专栏: 日常聊聊 ⛳️ 功不唐捐,玉汝于成 目录 前言 正文 边缘计算的挑战和机遇 一:数据安全与隐私保护 二:网络稳定性与可靠性 三:实时性与性能优…