方式一:chkconfig命令

  1. 首先编写好自启的脚本

    /etc/init.d/test.sh

    #!/bin/sh
    # chkconfig: 2345 10 90 # 创建个文件
    touch /opt/script/1.txt
  2. 再给脚本添加上可执行权限:

    chmod +x test.sh
  3. 将脚本添加到开机启动项

    chkconfig --add test.sh
  4. 将脚本设置为自启动

    chkconfig test.sh on
  5. chkconfig命令的常用参数

    chkconfig --list:列出所有系统服务的启动状态;
    chkconfig --add:增加服务;
    chkconfig --del:删除服务;
    chkconfig 服务名 on:设定服务开机启动;
    chkconfig 服务名 off:关闭服务开机启动;
    chkconfig 服务名 --level 35 on:设定服务在等级3和等级5时启动;
    chkconfig 服务名 --level 35 off:关闭服务在等级3和等级5时自动启动;
    chkconfig --level 35 服务名 on:设定服务在等级3和等级5时启动;
    chkconfig --level 35 服务名 off:关闭服务在等级3和等级5时自动启动;

方式二:修改/etc/rc.d/rc.local文件

在/etc/rc.d/rc.local文件最后一行下面另起一行添加下面的代码:

/data/sbin/test.sh restart

给予/etc/rc.d/rc.local权限

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

配置Java程序为系统服务

将Java程序配置为系统服务(systemd服务)来实现开机自启动。使用systemd可以很方便地管理和控制后台服务,包括Java程序。以下是一个简单的步骤来配置Java程序为systemd服务:

1、编写启动脚本

#!/bin/bash

# Java可执行文件路径
JAVA_EXECUTABLE=/usr/bin/java # Java程序的jar包路径
JAR_PATH=/path/to/your/java/program.jar # 启动Java程序
$JAVA_EXECUTABLE -jar $JAR_PATH

2、给脚本赋予执行权限

chmod +x /data/sbin/testService.sh

3、创建systemd服务单元文件

在/etc/systemd/system/目录下创建一个以.service结尾的文件,用于定义您的Java程序作为systemd服务的配置。

[Unit]
Description=Your Java Program
After=network.target [Service]
ExecStart=/usr/local/bin/testService.sh
Type=simple
Restart=on-failure [Install]
WantedBy=multi-user.target

查看更多相关...

4、启动服务并设置开机自启

systemctl enable testService

systemctl start testService

# 相关命令
systemctl start test.service //启动service脚本
systemctl restart test.service //重启service脚本
systemctl stop test.service //停止service脚本
systemctl status test.service //查看service状态
journalctl -u test.service //查看service日志,journalctl用于查看系统日志,-u指定服务名称。
systemctl daemon-reload //重新加载systemd守护程序,以便它可以读取任何新的或更改的服务文件。
ps auxw --sort=-rss //查看内存占用情况,列出所有进程,并按内存使用量从高到低排序。
df -h //查看磁盘占用情况
du -sh * //查看当前目录文件大小

Linux开机启动自定义脚本的更多相关文章

  1. linux开机启动执行脚本或命令

    添加到    /etc/rc.d/rc.local    给文件执行权限   /etc/rc.d/rc.local 用于用户自定义开机启动程序,可以往里写开机要执行的命令或脚本,线上的配置如下: [r ...

  2. centos开机启动自定义脚本

    有些时候我们需要在服务器里设置一个脚本,让他一开机就自己启动.方法如下: cd /etc/init.d vi youshell.sh #将youshell.sh修改为你自己的脚本名 编写自己的脚本后保 ...

  3. linux开机启动脚本

    linux开机启动脚本 linux 开机启动脚本 用户自定义开机程序(/etc/rc.d/rc.local) 操作最简单,方便.每次都自己启动PHP啊,Nginx啊 烦死了,其他方式还要弄shell啊 ...

  4. linux系统设置服务开机启动3种方法,Linux开机启动程序详解

    linux系统设置服务开机启动 方法1:.利用ntsysv伪图形进行设置,利用root登陆 终端命令下输入ntsysv 回车:如下图     方法2:利用命令行chkconfig命令进行设置 简要说明 ...

  5. (转) CentOS 7添加开机启动服务/脚本

    CentOS 7添加开机启动服务/脚本 原文:http://blog.csdn.net/wang123459/article/details/79063703 一.添加开机自启服务 在CentOS 7 ...

  6. Linux 开机启动

    Linux开机启动(bootstrap)   作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 计算机开机是一个神秘的过程.我们只是 ...

  7. linux 开机启动过程详解

    Linux开机执行内核后会启动init进程,该进程根据runlevel(如x)执行/etc/rcx.d/下的程序,其下的程序是符号链接,真正的程序放在/etc/init.d/下.开机启动的程序(服务等 ...

  8. linux开机启动

    开机过程指的是从打开计算机电源直到LINUX显示用户登录画面的全过程.分析LINUX开机过程也是深入了解LINUX核心工作原理的一个很好的途径. 启动第一步--加载BIOS 当你打开计算机电源,计算机 ...

  9. Linux开机启动程序详解

    Linux开机启动程序详解我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤. ...

  10. Linux开机启动程序详解[转]

    Linux开机启动程序详解 我们假设大家已经熟悉其它操作系统的引导过程,了解硬件的自检引导步骤,就只从Linux操作系统的引导加载程序(对个人电脑而言通常是LILO)开始,介绍Linux开机引导的步骤 ...

随机推荐

  1. JavaScript中对数组.map()、some()、every()、filter()、forEach的区别

    1.区别说明 共同点: 不会对原数组发生修改,而是返回新的变量,用变量接收. 不同点: 1.some():返回一个Boolean类型变量,判断是否有元素符合func条件 2.every():返回一个B ...

  2. VNC远程控制软件是什么?有没有更好的远程桌面控制解决方案?

    看官老爷们,你们是否需要远程访问或远程支持解决方案?来了解下VNC吧. 什么是VNC? VNC是虚拟网络计算(VNC)是一种远程桌面共享技术,用于从世界任何地方远程访问和控制计算机. VNC的工作原理 ...

  3. Linux环境下:程序的链接, 装载和库[可执行文件的装载]

    现代操作系统如何装载可执行文件? 给进程分配独立的虚拟地址空间 建立虚拟地址空间和可执行文件的映射关系 把CPU指令寄存器设置成可执行文件的入口地址,启动执行 可执行文件在装载的过程中实际上是映射的虚 ...

  4. 探索Django:从项目创建到图片上传的全方位指南

    Django是什么 Django 是一个流行的 Python Web 开发框架,它提供了一系列工具和库,用于帮助开发人员构建高效.可扩展的 Web 应用程序.Django 的目标是让开发者能够以快速和 ...

  5. IPv6 — 子网划分

    目录 文章目录 目录 前文列表 IPv6 的子网划分 前文列表 <IPv6 - 网际协议第 6 版> <IPv6 - 地址格式与寻址模式> <IPv6 - 协议头> ...

  6. go高并发之路——缓存穿透、缓存雪崩

    缓存击穿.缓存穿透.缓存雪崩是使用Redis的三个经典问题,上篇文章讲了缓存击穿,今天就讲下剩下的两个问题. 一.缓存穿透 定义:缓存穿透是指查询一个根本不存在的数据,缓存层和DB层都不会命中.这样缓 ...

  7. TypingLearn解决了我在学习英语中的一大痛点

    上一次在博客园发贴还是在上一次(2021年),那个时候博客园就遇到了危机(被罚款).彼时在疫情期间,我个人生活也受到了影响,先后去了多个城市,最终在上海找到了 .NET Web开发的岗位,还是比较幸运 ...

  8. 怀念中的java

    学了这门语言后一直没能做成项目,倒是安装环境,用记事本编辑的话,除了js最好做的就是java了. 以前学java的时候是一帮很有朝气的同学,在一个培训班,每天苦哈哈.从c开始学的语言,学完基础部分转入 ...

  9. Servlet转发与重定向的资源路径问题解析

    一. 问题引入 转发和重定向可以说是Servlet中最重要的知识点也不为过,因为它决定着整个向Servlet体系中,执行流程的问题.      转发: request.getRequestDispat ...

  10. etcd MVCC 存储结构及流程

    什么是 MVCC MVCC 是 Multi-Version Concurrency Control 的缩写,即多版本并发控制.它是一种并发控制的方法,用于在数据库系统中实现事务的隔离性.MVCC 是一 ...