常用命令:

$ sudo update-rc.d nginx defaults      #增加服务
$ sudo update-rc.d -f nginx remove    #移除服务

Linux服务的启动、停止和重载都是使用/etc/init.d/内的脚本。

在启动过程中或者改变运行级别( runlevel )时,/etc/rcX.d/内的相应的服务脚本被调用(这里的X是 runlevel number)

在Debian中安装新服务时,默认是开机启动的。例如,如果你安装了Nginx,Nginx服务会在下次开机时自启动。如果你不想Nginx开机自启动,你就要自己移除 /etc/rcX.d/SYYnginx 或使用 update-rc.d。而使用update-rc.d的优势很明显,它会自己移除、增加对/etc/init.d/内的链接。

下面以nginx为例,/etc/rcX.d文件如下:

$ ls -l /etc/rc?.d/*nginx
lrwxrwxrwx 1 root root 15 1月 6 00:56 /etc/rc0.d/K20nginx -> ../init.d/nginx
lrwxrwxrwx 1 root root 15 1月 6 00:56 /etc/rc1.d/K20nginx -> ../init.d/nginx
lrwxrwxrwx 1 root root 15 1月 6 00:56 /etc/rc2.d/S20nginx -> ../init.d/nginx
lrwxrwxrwx 1 root root 15 1月 6 00:56 /etc/rc3.d/S20nginx -> ../init.d/nginx
lrwxrwxrwx 1 root root 15 1月 6 00:56 /etc/rc4.d/S20nginx -> ../init.d/nginx
lrwxrwxrwx 1 root root 15 1月 6 00:56 /etc/rc5.d/S20nginx -> ../init.d/nginx
lrwxrwxrwx 1 root root 15 1月 6 00:56 /etc/rc6.d/K20nginx -> ../init.d/nginx

对于runlevel 0,1和6链接以K开头,runlevel 2,3,4和5链接以S开头。这两个字母代表 Kill 和 Start 。

  • Debian和Ubuntu中runlevel 2,3,4和5是多用户运行级别。
  • 运行级别 0 是 停止
  • 运行级别 1 是 单用户模式
  • 运行级别 6 是 重启

移除服务(停止服务)

如果你想完全禁用Nginx,你需要删除所有 /etc/rcX.d/ 中的相关链接。但是如果使用 update-rc.d,如下:

$ sudo update-rc.d -f nginx remove

-f 参数:表示即使 /etc/init.d/nginx 文件还存在,也要强力移除链接

注意:如果下次Nginx升级了,那么本命令会失效。下面一条命令可以保证下次升级时,服务依旧不会重启

$ sudo update-rc.d nginx stop 70 0 1 2 3 3 4 5 6

增加服务

如果现在你又想Nginx开机自启动了,只要输入如a下命令即可:

$ sudo update-rc.d nginx defaults
Adding system startup for /etc/init.d/nginx ...
/etc/rc0.d/K20nginx -> ../init.d/nginx
/etc/rc1.d/K20nginx -> ../init.d/nginx
/etc/rc6.d/K20nginx -> ../init.d/nginx
/etc/rc2.d/S20nginx -> ../init.d/nginx
/etc/rc3.d/S20nginx -> ../init.d/nginx
/etc/rc4.d/S20nginx -> ../init.d/nginx
/etc/rc5.d/S20nginx -> ../init.d/nginx

自定义优先级

默认值是20,S20链接在S91链接前运行,K91在K20之前停止。

数字越小优先级越高,先运行、后停止。

为了设定启动和停止优先级为91,运行如下命令:

$ sudo update-rc.d nginx defaults 91
Adding system startup for /etc/init.d/nginx ...
/etc/rc0.d/K91nginx -> ../init.d/nginx
/etc/rc1.d/K91nginx -> ../init.d/nginx
/etc/rc6.d/K91nginx -> ../init.d/nginx
/etc/rc2.d/S91nginx -> ../init.d/nginx
/etc/rc3.d/S91nginx -> ../init.d/nginx
/etc/rc4.d/S91nginx -> ../init.d/nginx
/etc/rc5.d/S91nginx -> ../init.d/nginx

对启动和停止设定不同的优先级

下面我们设定启动优先级为20,停止优先级为80

$ sudo update-rc.d nginx defaults 20 80
Adding system startup for /etc/init.d/nginx ...
/etc/rc0.d/K80nginx -> ../init.d/nginx
/etc/rc1.d/K80nginx -> ../init.d/nginx
/etc/rc6.d/K80nginx -> ../init.d/nginx
/etc/rc2.d/S20nginx -> ../init.d/nginx
/etc/rc3.d/S20nginx -> ../init.d/nginx
/etc/rc4.d/S20nginx -> ../init.d/nginx
/etc/rc5.d/S20nginx -> ../init.d/nginx

完全自定义运行级别和优先级

设定启动运行级别2,3,4和5的优先级为20,停止运行级别为0,1和6的优先级为80

$ sudo update-rc.d nginx start 20 2 3 4 5 . stop 80 0 1 6 .
Adding system startup for /etc/init.d/nginx ...
/etc/rc0.d/K80nginx -> ../init.d/nginx
/etc/rc1.d/K80nginx -> ../init.d/nginx
/etc/rc6.d/K80nginx -> ../init.d/nginx
/etc/rc2.d/S20nginx -> ../init.d/nginx
/etc/rc3.d/S20nginx -> ../init.d/nginx
/etc/rc4.d/S20nginx -> ../init.d/nginx
/etc/rc5.d/S20nginx -> ../init.d/nginx

设定启动运行级别2,3和4的优先级为20,运行级别5的优先级为30。停止运行级别0,1和6的优先级为80

$ sudo update-rc.d nginx start 20 2 3 4 . start 30 5 . stop 80 0 1 6 .
Adding system startup for /etc/init.d/nginx ...
/etc/rc0.d/K80nginx -> ../init.d/nginx
/etc/rc1.d/K80nginx -> ../init.d/nginx
/etc/rc6.d/K80nginx -> ../init.d/nginx
/etc/rc2.d/S20nginx -> ../init.d/nginx
/etc/rc3.d/S20nginx -> ../init.d/nginx
/etc/rc4.d/S20nginx -> ../init.d/nginx
/etc/rc5.d/S30nginx -> ../init.d/nginx

注意:命令行中得点好“.”不能少。

参考:

Linux/CentOS 服务安装/卸载,开机启动chkconfig命令详解|如何让MySQL、Apache开机启动?

http://www.debuntu.org/how-to-managing-services-with-update-rc-d

Ubuntu 开机自启动工具 update-rd.d 使用详解的更多相关文章

  1. Ubuntu 开机自启动SSH+远程关机

    Ubuntu 开机自启动SSH+远程关机   安装SSH 如何通过ssh远程登录linux系统 开机自启动ssh sudo gedit /etc/rc.locl # 输入密码 # 添加下面命令于 ex ...

  2. linux系统开机自动挂载光驱 和 fstab文件详解

    Linux 通过 UUID 在 fstab 中自动挂载分区 summerm6关注 2019.10.17 16:29:00字数 1,542阅读 607 https://xiexianbin.cn/lin ...

  3. Java基础-DButils工具类(QueryRunner)详解

    Java基础-DButils工具类(QueryRunner)详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果只使用JDBC进行开发,我们会发现冗余代码过多,为了简化JDBC ...

  4. 最锋利的Visual Studio Web开发工具扩展:Web Essentials详解

    原文:最锋利的Visual Studio Web开发工具扩展:Web Essentials详解 Web Essentials是目前为止见过的最好用的VS扩展工具了,具体功能请待我一一道来. 首先,从E ...

  5. ubuntu 下命令行播放器mplayer 使用详解

    ubuntu 下命令行播放器mplayer 使用详解 2011-01-02 21:00:42|  分类: Linux/Unix |  标签: |字号大中小 订阅 使用 MPlayer 播放媒体文件最简 ...

  6. 给Clouderamanager集群里安装可视化分析利器工具Hue步骤(图文详解)

    扩展博客 以下,是我在手动的CDH版本,安装Hue. CDH版本大数据集群下搭建Hue(hadoop-2.6.0-cdh5.5.4.gz + hue-3.9.0-cdh5.5.4.tar.gz)(博主 ...

  7. 给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)

    这个很简单,在集群机器里,选择就是了,本来自带就有Impala的. 扩展博客 给Ambari集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)

  8. 给Ambari集群里安装可视化分析利器工具Hue步骤(图文详解)

    扩展博客 以下,是我在手动的CDH版本平台下,安装Hue. CDH版本大数据集群下搭建Hue(hadoop-2.6.0-cdh5.5.4.gz + hue-3.9.0-cdh5.5.4.tar.gz) ...

  9. 给Ambari集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)

    不多说,直接上干货! Impala和Hive的关系(详解) 扩展博客 给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解) 参考 horton ...

随机推荐

  1. MVC5 + EF6 + Bootstrap3 (14) 分部视图PartialView

    Slark.NET-博客园 http://www.cnblogs.com/slark/p/mvc5-ef6-bs3-get-started-partialview.html 系列教程:MVC5 + E ...

  2. WPF之TreeList的实现方法(一)

    做项目的时候根据需求,WPF现有的控件不能完全满足我们的需求, 很多时候我们需要对现有的控件做一下加工. 最简单的我们可能会把Tree转换成List形式有的叫Grid形式就像下图一样 今天我先做一个完 ...

  3. 开源搜索引擎Iveely 0.8.0发布,终见天日

    这是一篇博客,不是,这是一篇开源人的心酸和喜悦,没有人可以理解我们的心情,一路的辛酸一路的艰辛,不过还好,在大家的支持下,总算是终见天日,谢谢那些给予我们无私帮助的朋友.您的支持,依然是我们无限的动力 ...

  4. sql server 数据库备份,完整备份,差异备份,自动备份说明

    Sql server 设置完整备份,差异备份说明 在数据库管理器中,选择要备份的数据库,右键找到“备份” 然后可以按照备份的方式进行备份. 关于文件的还原,作以下补充说明: 步骤为: 1.在需要还原的 ...

  5. java模板和回调机制学习总结

    最近看spring的JDBCTemplete的模板方式调用时,对模板和回调产生了浓厚兴趣,查询了一些资料,做一些总结. 回调函数: 所谓回调,就是客户程序C调用服务程序S中的某个函数A,然后S又在某个 ...

  6. [Windows 64] (搬运)价值¥ 6,499的软件Navicat Premium11.2.11 最新版及其注册机

    Navicat Premium可以连接6种数据库并开发> 转载于:http://www.52pojie.cn/thread-529020-1-1.html

  7. 修改mysql最大连接数的方法

    MYSQL数据库安装完成后,默认最大连接数是100,一般流量稍微大一点的论坛或网站这个连接数是远远不够的,增加默认MYSQL连接数的方法有两个 方法一:进入MYSQL安装目录 打开MYSQL配置文件 ...

  8. Java编程思想学习(十二) 数组和容器

    一.数组 1).数组的多种初始化方式 下面总结了初始化数组的多种方式,以及如何对指向数组的引用赋值,使其指向另一个数组对象.值得注意的是:对象数组和普通数组的各种操作基本上都是一样的:要说有什么不同的 ...

  9. PHP局部变量与全局变量

    一.局部变量定义:在函数内部声明,且只能在函数内部调用的变量. 注意:参数也是局部变量的一种. demo1:1 function demo1(){2     $age = 10;3 }4 5 echo ...

  10. Asp.Net MVC3 简单入门详解过滤器Filter

    http://www.cnblogs.com/boruipower/archive/2012/11/18/2775924.html 前言 在开发大项目的时候总会有相关的AOP面向切面编程的组件,而MV ...