linux开机自动执行脚本、运行程序

这篇具有很好参考价值的文章主要介绍了linux开机自动执行脚本、运行程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


用途、大致步骤

测试环境centos7

用途:linux开机自动执行脚本,启动java程序。
步骤:
1、在/etc/rc.d/init.d文件夹中创一个开机能够执行的脚本autoStart.sh
2、在autoStart.sh脚本中添加想要执行的代码或者调用自定义的脚本other.sh


一、创建脚本

1、autoStart.sh 放到/etc/rc.d/init.d文件夹中、权限赋值777或者755都行

#! /bin/sh
# chkconfig: 3456 99 10
# 手动加载环境变量信息
source /etc/profile

# 这段做测试使用,开机启动后会在/root目录创建一个autostart.log文件,则证明生效了
echo $(date "+%Y-%m-%d %H:%M:%S") >> /root/autostart.log
# 下面编写你需要执行的命令或者脚本
#sudo bash /opt/other.sh #我这里是调用其它地方的脚本,方便隔离开,后面有其它想开机自启的在这里加执行命令就可以了;
exit 0

linux开机自动执行脚本、运行程序

2、other.sh可以放在系统中的任何位置、权限777或者755

这里面就是存放的你自己需要执行的代码了,下面只做示例使用,我的是放在/opt/目录下;

#! /bin/bash

# 重要:切换到当前脚本的路径下
CURPATH=$(cd "$(dirname "$0")"; pwd) && cd  $CURPATH

# 下面就是你自己需要执行的具体命令了:我的是启动java程序
# nohup java -jar  /opt/self-server.jar

二、把autoStart.sh注册到开机启动里面

1、autoStart.sh脚本放到/etc/rc.d/init.d文件夹中后执行命令;注意:先放脚本在执行命令

chkconfig --add autoStart.sh

2、执行完毕可执行下面命令查看是否添加上了

chkconfig --list

linux开机自动执行脚本、运行程序

3、重启系统,查看你自己的脚本是否被执行

sudo reboot

三、相关说明

1、为什么要导入环境变量source /etc/profile

开始时候我并没有发现需要写这段代码,然后执行到other.sh脚本总是不成功,查看日志时候提示找不到java命令,正常情况下手动执行other.sh是没有任何问题的,但是自动启动时候就会提示找不到java命令,反正翻越了一些文章,大概说的是系统启动过程中执行先后顺序的问题,在执行autoStart.sh时候,环境变量还没有加载进来,所以在环境变量中配置的那些命令就可能使用不了,需要在执行代码前手动导入一下;
参考文章:linux 系统脚本 环境变量 的启动顺序

2、切换到当前脚本路径CURPATH=$(cd "$(dirname "$0")"; pwd) && cd $CURPATH

因为autoStart.sh是在/etc/rc.d/init.d目录下,如果是调用other.sh,那么other.sh的路径也变相于是在/etc/rc.d/init.d目录下,所以在other.sh中使用相对路径的话,会提示找不到各种文件、文件夹;

3、chkconfig命令

参考文章:Linux chkconfig命令

4、取消注册开机自启

chkconfig --del autoStart.sh

5、推荐autoStart.sh中不要写过多的代码

autoStart.sh里面推荐只写调用其它脚本的代码,这样的话便于维护,后续如果有其它需要开机自动执行或者想取消的,只需要在里面添加、删除调用命令就可以了,不需要再来搞一遍上述操作;

6、注意

各个执行脚本中不要有阻断脚本向下运行的代码,比如需要输入y确定之类的,否则脚本会一直在等待中,导致后面的程序或者其它脚本无法继续运行

四、总结

1、打开冰箱;
2、把大象塞进去;文章来源地址https://www.toymoban.com/news/detail-444146.html

到了这里,关于linux开机自动执行脚本、运行程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • RK android 9.0 添加sh脚本开机自动运行

    diff --git a/device.mk b/device.mk old mode 100644 new mode 100755 index 4c698b7..c635798 --- a/device.mk +++ b/device.mk @@ -126,6 +126,8 @@ PRODUCT_COPY_FILES +=      $(call add-to-product-copy-files-if-exists,device/rockchip/common/init.$(TARGET_BOARD_HARDWARE).bootmode.nvme.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.$(TARGET_BOARD_HARDWARE).bootm

    2024年02月08日
    浏览(70)
  • CentOS系统环境搭建(八)——CentOS7开机自动执行脚本(以MySQL为例)

    以MySQL为例子 /srv下新建system文件夹 新建脚本run.sh run.sh内容如下 /dev/null 21 将所有输出重定向到空设备,即不输出日志。最后的 符号将命令放到后台运行。

    2024年02月12日
    浏览(46)
  • Windows 开机启动脚本 (不询问自动以管理员权限运行bat)

    获取开机启动文件夹 之后将“你的.bat”文件放入“开机启动文件夹”内即可 快捷键Win+R,zhixing shell:startup 打开用户级的开机自启文件夹 或者cmd执行: 之后将“你的.bat”文件放入“开机启动文件夹”内即可 相关参考: Windows设置程序开机自启动的几种方法(整理发布) 使用

    2024年02月13日
    浏览(42)
  • Linux开机rc.local不自启动执行脚本问题的排查思路及问题解决

    问题 Linux系统中,在rc.local里面配置的启动命令等不能能够在开机的时候进行自启动 问题解决 解决问题排查中最大的麻烦,需要进行reboot重启 查看rc-local的运行状态 systemctl status rc-local 如果是loaded或者是faild类似,说明启动确实出现了问题 首先查看检查是否还有rc.local的软连

    2024年02月16日
    浏览(30)
  • 开机自启动,自动运行的脚本具有管理员权限(即root权限),但不希望手动输入密码

    板端的发布程序自启动: 1、可以选择将应用程序和依赖打包到rootfs中,或者放到单独的eMMC分区中 2、自启动,在rootfs的 /etc/init.d/rcS 或者/etc/inittab 3、配置systemctl 自启动 参考:https://blog.csdn.net/kuangguiyun/article/details/125089060 参考:https://blog.csdn.net/cdnight/article/details/87717644 aut

    2024年02月22日
    浏览(44)
  • Linux系统中同时执行多个脚本运行方法(&&、||、;、&)

            前一个运行成功后,才运行下一个。单进程执行。 注意: 若中途某个脚本执行报错,后面的脚本不再执行。 修改bb.py文件:         前一个运行失败后,才运行后面一个脚本。单进程执行。 注意: 遇到第一个执行成功的脚本后,后面的脚本不再执行。 修改

    2024年02月16日
    浏览(41)
  • CentOS开机自动运行jar程序实现

    前面已经有一篇文章介绍jar包如何在CentOS上运行,《在linux上运行jar程序操作记录》 后来发现系统重启后不能自动运行,导致每次都要手动打开,这篇介绍如何自动开机启动运行jar程序。 可以看到,最终找到的位置是: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64/jre/bin/j

    2024年02月08日
    浏览(49)
  • Android APP开机启动,安卓APP开发自启动,安卓启动后APP自动启动 Android让程序开机自动运行APP

    第一步设置获取广播后的业务 第二查权限给APP 理论以上两步做完就可以了。APP也能收到广播信息了, 但是APP没有在桌面启动。 经过再研究,发现要在手机再设置自动开启等业务,以下是小米、魅族的系统设置的一些内容,其它平台自己研究。 这里已经显示收到广播信息  

    2024年02月06日
    浏览(44)
  • BAT批处理脚本自动执行指定路径下程序

    需求来源: 使用nacos+springboot的微服务架构,每次跑程序前要先启动nacos比较麻烦,然后就写了个简单的批处理,双击直接打开一个cmd执行nacos启动命令; 知识点: 1. start cmd /k    启动一个CMD且不关闭cmd 2.start cmd /c    启动一个CMD且关闭cmd 3.  start cmd /k  \\\"命令1 命令2 命令3\\\"

    2024年02月16日
    浏览(41)
  • macOS开机自启动执行脚本

    macOS由于没有 /etc/rc.local的文件,只有一个 rc.common,但是这个东西属于系统文件,不建议修改,我们可以打开软件“自动操作”来处理,“自动操作”是mac系统自带的软件 不用下载可以直接使用; 路径:资源库-实用工具-运行Shell脚本; 设置开机执行命令: 首次“运行”命令

    2024年02月03日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包