服务(脚本)开机自启的几种方法
工作中刚好要将某个脚本开机自启中国linux操作系统,百度了一下大约有几种方式:
将脚本放在/etc/init.d/目录下,再在/etc/rcN.d(N表示0~6这7个数字,分别代表linux的七个运行级别)目录下创建脚本的软联接将脚本放在/etc/inid.d/目录下,执行chkconfig--add脚本编辑/etc/rc.d/rc.local,在exit0之前添加执行相应脚本的句子crontab-elinux 系统启动项linux学习论坛,在定时任务中添加@reboot脚本名(全路径)
具体这几种方法有哪些区别,有没有须要注意的地方?这三天查了些资料,如今做个总结!要比较这几种方法的好坏,还得从linux的开机流程说起
本文中我的系统版本是:CentOSrelease6.10(Final)
linux开机流程
linux的开机流程,大约如下
加载BIOS的硬件信息,并进行自我检查,并根据设定取得第一个可开机的装置(一般就是硬碟)读取并执行装置内MBR的bootloader(grub等引导程序)根据bootloader的设定加载核心kernel,kernel会开始探测硬件并加载驱动程序在硬件驱动成功后,核心会主动呼叫init程序,而init会依照设置的run-level信息(/etc/inittab文件中定义了默认的运行级别)init执行/etc/rc.d/rc.sysinit文档来打算软件执行的作业环境(比如网路,语族,时区等)执行/etc/rc.d/rc$RUNLEVEL#$RUNLEVEL为缺省的运行模式依照run-level执行对应目录rcN.d下的服务(N表示运行级别,比如rc3.d目录下的服务就是全用户文本模式下要开启的服务)/etc/rc.d/rc.local#相应级别服务启动以后、在执行该文件(虽然也可以把须要执行的命令讲到该文件中)执行终端仿真程序mingetty来启动login程序,等待用户登录
前3步,主要是linux的核心加载,硬件监测之类的,偏硬件方面些。在核心加载完以后linux 系统启动项,linux开始执行它的第一个程序/sbin/init了。init程序最主要的作用就是打算软件执行的环境,包括系统主机名,网路设定,语族设定,文件系统格式以及开机后的服务的启动等。而所有的活动就会通过init的配置文件,也即/etc/inittab文件来规划,但是/etc/inittab内还有一个很重要的设定:那就是确定系统的运行级别。
哪些是运行级别呢?说白了,linux是多用户的系统,它就是通过run-level来规定系使用不同的服务来启动&#