关于CentOS7的开机自启动

使用rc.local文件自启动

在centos7中, 如果需要使用rc.local进行开机自启动, 需要给rc.local加执行权限
chmod +x /etc/rc.local

使用systemctl自启动

配置文件

配置文件存在于以下三个目录中
    1. /etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接, 优先级最高
    2. /run/systemd/system 系统执行过程中产生的服务脚本, 优先级第二
    3. /usr/lib/systemd/system 存放系统上所有的启动文件, 优先级最低

unit分类

根据后缀名识别类型
    1. .service - 定义系统服务的启动
    2. .target定义了系统启动级别的标签, systemd没有运行级别的概念, 创建标签是为了兼容老版本
    3. .socket定义了进程通用的套接字, 套接字和进程是分离的
    4. .device 定义了系统启动时内核识别的文件, systemd提供了设备的管理功能, /dev下的设备由/etc/udev下的配置文件和.device共同定制
    5. .mount 定义系统的fs挂载点
    6. .snapshop 系统快照
    7. .swap 用于识别swap设备
    8. .automount 文件系统的自动挂载点
    9. .path 用于定义fs中的一个文件或目录, 常用与fs发生变化时, 延迟激活服务

启动脚本

通常由3本分组成

[Unit]
[unit的类型: service target socket]
[install]

命令

  • 基础操作:

    systemctl start|stop|restart|status name.service
    
  • 条件式重启:

    即服务之前是启动的则进行重启,如果服务没有启动则不进行操作
    systemctl try-restart name.service
    
  • 重载或重启:

    首先进行重载,如果重载不成功则进行重启
    systemctl reload-or-restart name.service
    
  • 重载或条件式重启:

    systemctl reload-or-try-restart name.service
    
  • 设置服务是否可以被用户设置开机启动状态

    systemctl unmask name.service  取消禁止
    systemctl mask name.service 禁止
    
  • 查看服务的当前激活状态:

    服务已经启动命令的状态返回值为0 命令未启动命令的状态返回值为非0值
    systemctl is-active name.service
    
  • 查看所有已经激活的服务:

    -t 指定显示的unit类型。
    -a 或 --all 显示更加详细的信息列表。
    
    systemctl list-units
    systemctl list-units -t service
    systemctl list-units -t service -a
    
  • 查看所有服务:

    扫描二维码关注公众号,回复: 3209274 查看本文章
    systemctl list-units  -a
    
  • 查看所有服务状态:

    systemctl list-unit-files
    -a 或--all : 查看所有服务的状态 
    -t 或--type :指定需要查看的unit类型
    
    loaded :配置文件已经加载,载入内存
    active(running):一次或多次持续处理的运行
    active(exited):成功完成一次性的配置
    active(waiting):运行中,等待一个事件
    inactive:不运行
    enabled:开机启动
    disabled:开机不启动
    static:开机不启动,但可被另一个启用的服务激活
    
  • 用来列出该服务在哪些运行级别下启用和禁用

    ls /etc/systemd/system/*.wants/sshd.service
    systemctl list-unit-files --type target --all
    
  • 设置服务开机不启动:

    systemctl disable 服务名称unit
    
  • 查看服务是否开机自启:

    systemctl is-enabled name.service
    
  • 察看服务的依赖关系:

    systemctl list-dependencies name.service
    systemctl list-depebdencies
    
  • 重载服务:

    systemctl daemon-reload
    
  • 杀掉进程:

    systemctl kill 进程名
    

猜你喜欢

转载自blog.csdn.net/yang_kaiyue/article/details/82421103