Linux 系统如何设置开机程序自启动

您所在的位置:网站首页 如何设置软件开机自动启动项目功能 Linux 系统如何设置开机程序自启动

Linux 系统如何设置开机程序自启动

2024-07-08 20:46| 来源: 网络整理| 查看: 265

这里写目录标题 1. Linux 系统如何设置开机程序自启动1.1. /etc/rc.local1.2. crontab(类似于 Windows 的任务计划服务)1.3. 注册系统服务

1. Linux 系统如何设置开机程序自启动

核心提示: 系统的服务在开机时一般都可以自动启动, 那在 Linux 系统下如果想要程序在开机时自动启动怎么办? 我们知道在 Windows 系统"开始"–>“所有程序”–>"启动"里面放个快捷方式就行, 那 Linux 系统下呢?

这也是一个比较简单的问题, 有不少的方法可以解决, 这里介绍三种方法。因为是简单介绍, 所以具体细节不是很详细, 可以通过 man 看看相关手册。

1.1. /etc/rc.local

这是一个最简单的方法, 编辑 “/etc/rc.local”, 把启动程序的 shell 命令输入进去即可(要输入命令的全路径), 类似于 Windows 下的"启动"。

使用命令:

vi /etc/rc.local

然后在文件最后一行添加要执行程序的全路径。

例如, 每次开机时要执行一个 haha.sh, 这个脚本放在 /opt 下面, 那就可以在 “/etc/rc.local” 中加一行 “/opt/./haha.sh”, 或者两行 “cd /opt” 和 “./haha.sh”。

1.2. crontab(类似于 Windows 的任务计划服务)

通过 crontab 可以设定程序的执行时间表, 例如让程序在每天的 8 点, 或者每个星期一的 10 点执行一次。

crontab -l 列出时间表; crontab -e 编辑时间表; crontab -d 删除时间表; “-l” 没什么可说的, 就是一个查看而已;“-e” 是编辑, 和 vi 没什么差别(其实就是用 vi 编辑一个特定文件);“-d” 基本不用, 因为它把该用户所有的时间表都删除了, 一般都是用 “-e” 编辑把不要了的时间表逐行删除;

那到底该如何编辑呢?

crontab 文件的格式是: M H D m d CMD。 一个 6 个字段, 其中最后一个 CMD 就是所要执行的程序, 如 haha.sh。

M: 分钟(0-59)H: 小时(0-23)D: 日期(1-31)m: 月份(1-12)d: 一个星期中的某天(0-6, 0 代表周日)

这 5 个时间字段用空格隔开, 其值可以是一个数字, 也可以用逗号隔开的多个数字(或其他) , 如果不需设置, 则默认为 “*”。

例如, 每天的 8 点 5 分执行 haha.sh, 就是 “5 8 * * * /opt/./haha.sh”。

好像和 “开机程序自动启动” 扯远了, 现在回归正题。其实上面介绍的 crontab 的功能已经具备了开机自动启动的能力, 可以写一个监测脚本, 每 5 分钟执行一次(*/5 * * * * ./haha.sh), 如果程序不在了就重新启动一次。

1.3. 注册系统服务

操作系统自带的服务, 如 ssh, ftp 等等, 开机都是自动启动的, 我们也可以通过这种方式让自己开发的程序提高"身价"。

比如我想把某个已经安装了的服务添加为系统服务, 可以执行以下命令:

chkconfig --add 服务名称 (首先, 添加为系统服务, 注意 add 前面有两个横杠) chkconfig -leve 启动级别 服务名 on

(说明, 3 级别代表在命令行模式启动, 5 级别代表在图形界面启动, on 表示开启)

chkconfig -leve 启动级别 服务名 off

(说明, off 表示关闭自启动)

例如: chkconfig -level 3 mysql on (说明: 让 mysql 服务在命令行模式, 随系统启动)

也可以使用 chkconfig --add 服务名称 来删除系统服务

如果要查看哪些服务被添加为系统服务可以使用命令 :

ntsysv 或者 chkconfig --list

如果要查看哪些程序被添加为自启动, 可以使用命令 :

cat /etc/rc.local (查看这个文件中添加了哪些程序路径)

下面举例说说, 如何把一个 shell 脚本添加为系统服务, 并跟随系统启动:

可以看到 “/etc/rc.d/init.d” 下有很多的文件, 每个文件都是可以看到内容的, 其实都是一些 shell 脚本。 系统服务的启动就是通过 “/etc/rc.d/init.d” 中的脚本文件实现的。我们也可以写一个自己的脚本放在这里。 脚本文件的内容也很简单, 类似于这个样子(例如起个名字叫做 “hahad”):

. /etc/init.d/functions start() { echo "Starting my process " cd /opt ./haha.sh } stop() { killall haha.sh echo "Stoped" }

写了脚本文件之后事情还没有完, 继续完成以下几个步骤:

chmod +x hahad #增加执行权限 chkconfig --add hahad #把 hahad 添加到系统服务列表 chkconfig hahad on #设定 hahad 的开关(on/off) chkconfig --list hahad #就可以看到已经注册了 hahad 的服务

这时候才完成了全部工作。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3