方法一:修改 /etc/rc.d/rc.local 文件
linux的启动过程如下:
/etc/rc.d/rc.local文件中写入了什么命令,在每次系统启动时都会执行一次,我们可以修改这个文件,来实现开机重启。
# ……/usr/lib/systemd/system/mysqld start
方法二:chkconfig
chkconfig命令检查、设置系统的各种服务。这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。
命令参数如下:
This may be freely redistributed under the terms of the GNU Public License.usage: chkconfig [--list] [--type <type>] [name]chkconfig --add <name>chkconfig --del <name>chkconfig --override <name>chkconfig [--level <levels>] [--type <type>] <name> <on|off|reset|resetpriorities>
如果自定义,脚本必须放在 /etc/init.d 目录下。并使用下面几个指令完成添加:
# 添加执行权限chmod +x /etc/init.d/test# 添加到启动服务chkconfig --add test# 查看服务状态chkconfig --list test
方法三:软连接
和方法二的结果类似,只是不适用 chkconfig 命令。
查看 /etc/rc.d/rc3.d 目录中的内容,发现这些文件是按照如下格式命名的 [KS][1-100]servicename ,它表示当系统的运行级别是3时,会关掉以K开头的所有服务,并启动所有以S开头的服务,这些服务都是/etc/init.d/中某个服务的软连接,所以真正启动的服务是/etc/init.d目录中的某一个服务,K/S后面紧跟的数字表示开/关服务的优先级。
如果我们自己写了一个脚本代码test,需要在开机级别为3的时候自启动的话,那么我们只需要把可执行的test脚本文件放到 /etc/init.d目录下,并在对应的运行级别目录下 如/etc/rc.d/rc3.d/ 建立一个以S开头后加数字的软连接到 /etc/init.d/test 即可,如
ln -s /etc/init.d/test /etc/rc.d/rc3.d/S95test
方法四:systemctl enable
使用 systemctl enable service ,即可实现开机自启动