linux自启动怎么设置服务开机自启动linux怎么把一个服务设置成自启动




linux自启动怎么设置服务开机自启动linux怎么把一个服务设置成自启动

2022-07-20 21:43:21 网络知识 官方管理员



1.了解chkconfig

  1. chkconfig是用于管理应用程序是否随系统自启动。
  2. chkconfig仅仅是高效管理工具,包括设置和查询,但并不必要。没有它,也有很多方法可以使程序开机自启动。
  3. chkconfig不适用于CentOS7系统,CentOS7请使用systemctl

2.使用chkconfig之前,需要了解的知识

2.1了解程序启动脚本的存放位置和脚本内容

以CentOS6为例讲解(CentOS7已经弱化这些概念。):

正规的应用程序的启动脚本都会放在/etc/init.d/这个目录里。里面的脚本已经定义好应用程序如何启动、结束、查看状态、重启

脚本文件的内容演示:

以/etc/init.d/zcwyou这个脚本为例,展示这个文件的部分内容:

#chkconfig:23459898这行表示默认运行级别、进程启动顺序、进程结束顺序description:Startorstopthezcwyouserver描述这个服务#Default-Start:2345定义默认在哪些级别运行该程序,关于系统运行级别,下文有介绍#Default-Stop:016定义默认在哪些级别会结束运行该程序。

例如/etc/init.d/iptables这个文件,里面已经定义好iptables防火墙的启动、重启等等相关的管理方式。当然,不包括防火墙的配置。

所以,重启防火墙的命令可以用以下命令:

[root@zcwyou~]#/etc/init.d/iptablesrestart

2.2了解Linux系统的运行级别

另外,在Linux中,系统是有运行级别的,我们用术语level来表述:

–level0:表示关机,比如关机可以用init0

–level1:单用户模式

–level2:无网络连接的多用户命令行模式

–level3:有网络连接的多用户命令行模式

–level4:不可用

–level5:带图形界面的多用户模式

–level6:重启系统,比如重启系统可以用init6

在实际的应用中,用得最多是level3和level5。服务器一般使用level3。

以下是每个level对应的工作目录,里面以S开头的文件表示start启动脚本,比如S08iptables。K开头的文件表示kill结束脚本,比如K50dnsmasq。后面紧跟一个数字,表示启动或关闭的顺序。

–level0对应的目录:/etc/rc.d/rc0.d

–level1对应的目录:/etc/rc.d/rc1.d

–level2对应的目录:/etc/rc.d/rc2.d

–level3对应的目录:/etc/rc.d/rc3.d

–level4对应的目录:/etc/rc.d/rc4.d

–level5对应的目录:/etc/rc.d/rc5.d

–level6对应的目录:/etc/rc.d/rc6.d

linux自启动怎么设置服务开机自启动(linux怎么把一个服务设置成自启动)(1)

所以,如果你想把/etc/init.d/zcwyou这个脚本开机自动启动的话,只需要把它复制(一般是创建软链接,类似于Windows的快捷方式)到相应级别的工作目录,即可实现开机自启动。

Linux在开机时,会自动查找对应级别的工作目录,按序号启动里面的脚本,比如先启动S02lvm2-monitor再启动S08ip6tables。

至此,你会发现。其实,不需要chkconfig也可以设置程序开机自启。

3:尝试使用chkconfig

chkconfig的工作原理就是前面介绍的,只是它变成高效管理而已。

3.1查询服务

命令:

[root@zcwyou~]#chkconfig--list

linux自启动怎么设置服务开机自启动(linux怎么把一个服务设置成自启动)(2)

显示所有受chkconfig管理的程序在各级别运行的情况。on表示开启,off表示关闭。如果只查询指定服务,在后面另上程序名即可。

例子:

[root@zcwyou~]#chkconfig--listmysqld

3.2添加管理对象

chkconfig–addname:增加一项新的服务受chkconfig管理,脚本要放在目录/etc/init.d/,并且里面配置好chkconfig相关参数,看2.1的例子。如有缺少,则按init的缺省配置进行处理。

例子:

[root@zcwyou~]#chkconfig--addzcwyou

3.3删除管理对象

chkconfig–delname:删除服务,不受chkconfig管理。并从/etc/rc.d/rc[0-6].d删除相关连接。

例子:

[root@zcwyou~]#chkconfig--delzcwyou

3.4设置管理对象

chkconfig[–levellevels]name:设置某一服务在指定的运行级里的是否自动启动。

例子:设置mysqld在level3,4,5中自启动:

[root@zcwyou~]#chkconfig--level345mysqldon

linux自启动怎么设置服务开机自启动(linux怎么把一个服务设置成自启动)(3)

总结:chkconfig是CentOS6及之前版本的发行版的应用程序开机启动的管理工具,CentOS7应该使用systemctlenablexxx.service与systemctldisablexxx.service


发表评论:

最近发表
网站分类
标签列表