首页 > 系统相关 >Linux将shell脚本设置为自动启动项

Linux将shell脚本设置为自动启动项

时间:2022-12-02 10:07:30浏览次数:46  
标签:脚本 shell Linux etc 启动项 AutoStart rc local


Linux系统下如何设置开机启动项

1.修改/etc/rc.d/rc.local文件,在rc.local 后面加上你的shell脚本命令

  • 赋值权限
chmod u+x app.sh
  • 修改后的rc.local如下
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.

touch /var/lock/subsys/local
/bin/bash /usr/myfoder/camtest/Debug/app.sh

本人使用这种方式测试失败,执行不成功

2. 使用systemctl命令

systemctl enable xxx.sh

本人测试失败,提示 systemctl access denied

3. 使用最原始的方式,在rc.d里面创建启动项

  • 新建shell脚本
#!/bin/sh
#chkconfig: 2345 80 90
#description:AutoStart

#下面是脚本正文

.....

其中AutoStart是启动的脚本名称描述,与shell脚本文件名相同!

  • 把Shell脚本放入/etc/rc.d/init.d/目录下
sudo mv ./AutoStart /etc/rc.d/init.d/AutoStart
  • 添加脚本的可执行权限
chmod u+x /etc/rc.d/init.d/AutoStart
  • 使用chkconfig命令把脚本添加进开机启动项目中
chkconfig --add AutoStart

chkconfig AutoStart on

执行完成后,可以检查一下/etc/rc.d/rc*.d下有没有生成相应的启动链接,指向刚才的脚本,80指的是启动的顺序,90指的是停止的顺序

可以在AutoStart命令中加入接受start和stop的输入参数的设置,因为系统在启动时会传递给脚本一个start的参数,告诉脚本现在要启动,在关闭时会传递给脚本一个stop的参数,告诉脚本现在要关闭程序,如果程序在关闭前要执行清理操作,就可以在这时完成了。

参考博客:​​javascript:void(0)​​

感谢以上提供技术分享的朋友

大道至简


标签:脚本,shell,Linux,etc,启动项,AutoStart,rc,local
From: https://blog.51cto.com/u_11295556/5905002

相关文章

  • Mono.NET Linux下使用动态链接库教程
    最终目标使用.net开发的程序可以引用C/C++编写的链接库实现具体的业务功能问题描述在Windows平台下我们可以通过DllImport的方式引入一个“.dll”文件来实现动态库的开发,但......
  • Linux下面提示Encoding 936 data could not be found.
    最近在使用CentOS7进行Mono测试的时候,发现好多异常情况,其中程序里面有用到GBK编码,然后运行的时候就报错了,错误码具体如下:WARNING:Theruntimeversionsupportedbythis......
  • 容器开发运维人员的 Linux 操作机配置优化建议
    "工欲善其事必先利其器",作为一个PAAS平台架构师,容器相关技术(docker,k8s等)是必不可少的.本文简单介绍下我自己的Linux操作机配置.提升工作效率,提高使用体验.❤️......
  • linux firewalld防火墙放行端口
    目录1.firewalld常用命令2.firewalld中放行端口3.firewalld刷新生效4.firewalld放行服务5.放行ip1.firewalld常用命令#查看所有放行端口firewall-cmd--zone=pub......
  • Linux-文本过滤与处理-fold指令:指定文件显示的宽度
    1.fold指令Linuxfold命令用于限制文件列宽。2.fold语法fold[-bs][-w<每列行数>][--help][--version][文件...]3.fold参数-b或--bytes以Byte为单位计算列宽,而非......
  • Linux创建新用户并使用证书远程登录
    因业务需要,需要在服务器上创建多用户,方便多人维护,那么可以利用证书登录创建多用户登录,然后用户如果需要root权限再手动切换即可,下面简单介绍下在Linux上如何进行多用户创......
  • Homebrew:macOS(或 Linux)软件包的管理器
    官方地址:https://brew.sh/GitHub:https://github.com/Homebrew/brew#官方安装(国内会报错):/bin/bash-c"$(curl-fsSLhttps://raw.githubusercontent.com/Homebrew/in......
  • SHELL脚本
    完成一个shell脚本,脚本的作用。1.运行脚本可以显示出本机的ip地址2.如果ip地址中有3这个数字,那么就打印出当前的系统时间3.如果ip地址中不含3这个数字,就批量建立用户mag......
  • linux使用wget命令批量下载rpm包
    下载命令:wget-nd-r-l1-A.rpm--no-parenthttp://mirrors.163.com/centos/7/os/x86_64/Packages/-erobots=off下载时,仅需要把以上链接换成要下载rpm包路......
  • 简单的一键部署LNMP架构shell脚本
    两种部署方式:一、手工搭建分析:最终效果,通过Nginx搭建两个网站blog和zh,通过域名访问。在lnmp的基础上,域名访问,要么搭建DNS服务器,要么修改主机hosts文件。1、安装Nginx:进入y......