自动启动和去除自动启动(要好好写一写)
sudo apt-get install tomcat7 tomcat7-admin tomcat-common
创建一个自动启动的服务(Tomcat)
我们在/etc底下 find -name 'tomcat7'可以看到这样的结果
➜ /etc sudo find -name '*tomcat*'
./rc5.d/S92tomcat7
./cron.daily/tomcat7
./rc2.d/S92tomcat7
./rc6.d/K08tomcat7
./default/tomcat7
./init.d/tomcat7
./tomcat7
./tomcat7/tomcat-users.xml
./logrotate.d/tomcat7
./rc3.d/S92tomcat7
./rc0.d/K08tomcat7
./rc1.d/K08tomcat7
./rc4.d/S92tomcat7
init.d/tomcat7 就是启动的脚本,但是在什么时候调用这个脚本,是由rcX.d决定的 S开头标识start,K开头标识kill 那X分别代表什么呢?
关于系统运行的六个级别可以简单地如下解释(关于对应的六个级别可以参照Debain的运行级别 ):
0 为停机,机器关闭。 1 为单用户模式,就像Win9x下的安全模式类似。 2 为多用户模式,但是没有NFS支持。 3 为完整的多用户模式,是标准的运行级。 4 一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。 5 就是X11,进到X Window系统了。 6 为重启,运行init 6机器就会重启。
Linux 系统任何时候都运行在一个指定的运行级上,并且不同的运行级的程序和服务都不同,所要完成的工作和要达到的目的都不同,系统可以在这些运行级之间进行切换,以完成不同的工作。
Linux 系统主要启动步骤:
- 读取 MBR 的信息,启动 Boot Manager Windows 使用 NTLDR 作为 Boot Manager,如果您的系统中安装多个 版本的 Windows,您就需要在 NTLDR 中选择您要进入的系统。 Linux 通常使用功能强大,配置灵活的 GRUB 作为 Boot Manager。
- 加载系统内核,启动 init 进程 init 进程是 Linux 的根进程,所有的系统进程都是它的子进程。
- init 进程读取 /etc/inittab 文件中的信息,并进入预设的运行级别, 按顺序运行该运行级别对应文件夹下的脚本。脚本通常以 start 参数启 动,并指向一个系统中的程序。 通常情况下, /etc/rcS.d/ 目录下的启动脚本首先被执行,然后是 /etc/rcN.d/ 目录。例如您设定的运行级别为 3,那么它对应的启动 目录为 /etc/rc3.d/ 。
- 根据 /etc/rcS.d/ 文件夹中对应的脚本启动 Xwindow 服务器 xorg Xwindow 为 Linux 下的图形用户界面系统。
- 启动登录管理器,等待用户登录 Ubuntu 系统默认使用 GDM 作为登录管理器,您在登录管理器界面中 输入用户名和密码后,便可以登录系统。(您可以在 /etc/rc3.d/ 文件夹中找到一个名为 S13gdm 的链接)
在我的系统上,运行级是2 但是按照有些哥的说法,在Debian和Ubuntu上面,2-5是没有区别的
0 : System halt. 1 : Single-User mode. 2 : Graphical multi-user plus networking (DEFAULT) 3 : Same as "2", but not used. 4 : Same as "2", but not used. 5 : Same as "2", but not used. 6 : System reboot.
使这个脚本自动启动
由此推测,这个tomcat应该就是自动启动的?因为我们一般就是3或者5
去除这个脚本的自动启动
sudo apt-get install sysv-rc-conf
然后把tomcat从2那里头去掉
我们再次执行find /etc -name 'tomcat7'
/etc/rc5.d/S92tomcat7 /etc/cron.daily/tomcat7 /etc/rc2.d/K08tomcat7 /etc/rc6.d/K08tomcat7 /etc/default/tomcat7 /etc/init.d/tomcat7 /etc/tomcat7 /etc/logrotate.d/tomcat7 /etc/rc3.d/S92tomcat7 /etc/rc0.d/K08tomcat7 /etc/rc1.d/K08tomcat7 /etc/rc4.d/S92tomcat7
rc2.d里头 果然是少了一个S92tomcat7...
查看
service --status-all