Linux基础学习笔记十二:设置程序开机自启动的几种简单方式

假设我们有一个写好的程序/usr/bin/test,下面就简单列举几种让test开机自启动的方式!!!

一、使用/etc/rc.local文件

linux开机过程之后,会执行rc.local文件中的脚本程序。

#!/bin/sh -e
/usr/bin/test &
exit 0

shell执行命令后加&是为了让应用程序在后台运行,rc.local也是一个脚本,主进程在运行这个脚本时必须能够返回,如果在这个脚本里面执行了一些死循环或者其他无法返回的任务,整个系统就很可能卡死在这里,无法启动,所以在这里运行的用户程序必须是能够返回或者本身就使用一些后台运行的进程。

要想删除,就在文件中将命令去掉即可。

二、将用户脚本添加进/etc/init.d/目录下

先创建一个运行test的脚本test.sh

#!/bin/bash
/usr/bin/test &

然后执行以下指令:

chmod +x test.sh
sudo cp test.sh /etc/init.d/

将文件放到/etc/init.d目录中,然后将test.sh脚本链接到开机运行序列中:

cd /etc/init.d
sudo update-rc.d test.sh defaults 77

update-rc.d是一个系统的链接工具。

defaults 77指定了脚本的开机执行顺序,数字为0-99,数字越大执行优先级越低,用户添加的程序最好选择低优先级,因为我们的用户程序可能会依赖一些系统的应用进程。

如果想删除该脚本的自动运行,可以执行如下指令:

sudo update-rc.d -f test remove

三、将用户脚本添加进/etc/profile.d/目录下

将写好的脚本test.sh,如下:

#!/bin/bash
/usr/bin/test &

放到目录 /etc/profile.d/下,系统启动后就会自动执行该目录下的所有shell脚本。

四、通过chkconfig命令设置

1.将test.sh移动到 /etc/init.d/或者/etc/rc.d/init.d/目录下(前者是后者的软连接)

2.启动文件前面务必添加如下三行代码,否侧会提示chkconfig不支持。

#!/bin/bash             
#chkconfig: 35 20 80        分别代表运行级别,启动优先权,关闭优先权
#description:      			描述
/usr/bin/test &

3.增加脚本的可执行权限

chmod +x /etc/rc.d/init.d/test.sh

4.添加脚本到开机自动启动项目中。添加到chkconfig,开机自启动

cd /etc/rc.d/init.d
chkconfig --add test.sh
chkconfig test.sh on

5.关闭开机启动

chkconfig test.sh off

6.从chkconfig管理中删除test.sh

chkconfig --del test.sh

参考链接:https://www.cnblogs.com/downey-blog/p/10473939.html

这篇文章最后还有使用systemd控制程序开机自启动的例子,可以看下。

posted @ 2021-05-29 11:31  耐心的小黑  阅读(489)  评论(0编辑  收藏  举报