zoukankan      html  css  js  c++  java
  • 如何管理linux开机自启服务

    如何管理linux开机自启服务?

    自启动服务非常重要,例如 

    (1)需要手动添加希望自启的服务,如安装svn后没有自动添加,就需要我们手动加入

    (2)安装某些程序后,自动加到自启动了,但我们不需要,需要手动移除

    (3)很多恶意程序都会把自己加入自启动,需要我们排查删除

    运行级别的原理

    涉及到自启动操作时,就会接触到 /etc/rc.d/rc[0-6].d 这7个目录

    这几个目录代表着linux的7个运行级别

    在 /etc/inittab 文件中指定了系统启动时默认进入哪个级别

    Linux进入运行级别后,就会进入对应的 rcN.d 目录,按照文件名顺序检索目录下的文件

    rcN.d 目录下都是一些链接文件,这些链接文件都指向 /etc/init.d 目录下的service脚本文件,例如



    命名规则为:


    K+nn+服务名,或 S+nn+服务名

    K - 系统将终止对应的服务

    S - 系统将启动对应的服务

    nn - 两位数字,执行顺序


    7个运行级别是什么?

    0 - 停机

    1 - 单用户模式,root权限,用于系统维护,禁止远程登陆 


    2 - 多用户状态,没有 NFS

    3 - 标准多用户模式,登陆后进入命令行模式

    4 - 系统未使用,保留

    5 - 多用户图形模式,登陆后进入图形GUI模式

    6 - 重新启动

    服务器一般都是命令行模式,所以默认运行级别为 3

    如何添加自启程序?

    (1)/etc/init.d 目录中添加

    以启动SVN为例

    1)在 /etc/init.d 目录下创建启动服务的脚本

    vim /etc/init.d/svn

    内容

    #!/bin/bash
    svnserve -d -r /svn仓库路径

    设置执行权限

    chmod 755 /etc/init.d/svn

    2)把这个脚本软链接到 /etc/rc.d/rc3.d 

    ln -s /etc/init.d/svn /etc/rc.d/rc3.d/S101svn

    S 代表是要执行这个脚本,101 是执行顺序,通常要大于60,这样可以保证基础服务都已经启动完成

    重启linux测试

    (2)/etc/rc.local 文件中添加

    直接修改 /etc/rc.local

    该脚本是在系统初始化级别脚本运行之后再执行的,因此可以在里面添加想在系统启动之后执行的脚本

    (3)chkconfig 命令添加

    如何禁止自启程序?

    (1)直接删除 /etc/rc.d/rcN.d 目录的目标链接文件

    (2)删除 /etc/rc.local 文件中定义的启动脚本

    (3)查看自启动服务列表,从中选择目标服务执行禁止操作

    chkconfig --list

    chkconfig --del 服务名

  • 相关阅读:
    USB设备驱动之设备初始化(设备枚举)
    clCreateCommandQueue': was declared deprecated
    Struts2 Result Type
    IOS屏幕旋转
    VMware Workstation 集群仲裁磁盘和数据共享磁盘的创建
    UNIX环境高级编程之第3章:文件I/O
    poj 1068 Parencodings(模拟)
    使用oracle数据库和MySQL数据库时hibernate的映射文件.hbm.xml的不同
    线程池的实现
    zoj 1648 Circuit Board
  • 原文地址:https://www.cnblogs.com/jun1019/p/6260637.html
Copyright © 2011-2022 走看看