(1) 自启动服务
Linux下服务软件(如ftp、ssh、mysql)安装完成后,都会在“/etc/init.d/”目录产生一个服务管理脚本,如vsftpd、sshd等脚本。
/etc/init.d/:各种服务器和程序的启动、运行脚本。
/etc/rc.d/rcX.d/:X为0~6级别,每个目录对应一个启动级别,目录内都是指向init.d目录的一些软连接。
# 0 - 停机(把initdefault设置为0,系统永远无法启动)
# 1 - 单用户模式
# 2 - 多用户,没有 NFS
# 3 - 完全多用户模式(标准的运行级)
# 4 – 系统保留的
# 5 - X11 (x window)
# 6 - 重新启动(把initdefault 设置为6,将一直在重启)
在/etc/rc.d/rc3.d目录有如下文件:
lrwxrwxrwx 1 root root 9 Feb 7 09:45 K01vsftpd -> ../vsftpd
lrwxrwxrwx 1 root root 9 Feb 7 09:45 S08vsftpd -> ../vsftpd
K01vsftpd:K表示stop,01表示执行顺序,第一个停止vsftpd服务;
S08vsftpd:S表示start,停止时,vsftpd第8个停止。
检查使用过的Linux(suse、redhat)环境,init.d目录同时存在“/etc/init.d”、“/etc/rc.d/init.d”,rc.d目录同时存在“/etc/rc.d/”、“/etc/init.d/rcX.d”,并且确认都不是链接文件,实际要使用哪个由“/etc/inittab”文件指定。
(2) 进程启动停止
如过要启动、停止某一个服务,可以直接手工执行:
/etc/init.d/vsftpd start
/etc/init.d/vsftpd status
/etc/init.d/vsftpd stop
配置服务随系统启动,可以直接将这些命令配置在/etc/rc.d/rc.local文件中,Linux下提供 chkconfig命令配置修改自启动服务,不需要手工配置文件。
chkconfig -s vsftpd on ----suse下配置vsftp服务
chkconfig --level 345 httpd off --- redhat下关闭3、4、5级的httpd服务
动态启停服务可以使用service命令
Service vsftpd start
Service vsftpd stop
(3) 启动顺序
加载内核;
执行init程序;
/etc/rc.d/rc.sysinit #由init执行的第一个脚本;
/etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式,执行rcX.d目录的所有操作,加载指定服务;
/etc/rc.d/rc.local # linux启动是默认执行该文件,因此很多操作如加载服务、修改核心参数都可以在这里执行;
/sbin/mingetty # 等待用户登录