Ubuntu里头自动启动和不自动启动一个服务

自动启动和去除自动启动(要好好写一写)

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运行级

Linux 系统主要启动步骤:

  1. 读取 MBR 的信息,启动 Boot Manager
    Windows 使用 NTLDR 作为 Boot Manager,如果您的系统中安装多个
    版本的 Windows,您就需要在 NTLDR 中选择您要进入的系统。
    Linux 通常使用功能强大,配置灵活的 GRUB 作为 Boot Manager。
  2. 加载系统内核,启动 init 进程
    init 进程是 Linux 的根进程,所有的系统进程都是它的子进程。
  3. init 进程读取 /etc/inittab 文件中的信息,并进入预设的运行级别,
    按顺序运行该运行级别对应文件夹下的脚本。脚本通常以 start 参数启
    动,并指向一个系统中的程序。
    通常情况下, /etc/rcS.d/ 目录下的启动脚本首先被执行,然后是
    /etc/rcN.d/ 目录。例如您设定的运行级别为 3,那么它对应的启动
    目录为 /etc/rc3.d/ 。
  4. 根据 /etc/rcS.d/ 文件夹中对应的脚本启动 Xwindow 服务器 xorg
    Xwindow 为 Linux 下的图形用户界面系统。
  5. 启动登录管理器,等待用户登录
    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

你可能感兴趣的:(Ubuntu里头自动启动和不自动启动一个服务)