Linux 7管理systemd之systemctl 常用命令及讲解。快速入门centos7

  • A+

Linux 7管理systemd之systemctl 常用命令及讲解。快速入门centos7

管理systemd
    /etc/systemd/system:管理员建立的执行脚本,类似于/etc/rc.d/rcN.d/Sxx类的功能,比上面目录优先运行
特性
    关键特性:
        基于socket的激活机制:socket与服务程序分离
        基于d-bus的激活机制:
        基于device的激活机制:
        基于path的激活机制:
        系统快照:保存各unit的当前状态信息于持久存储设备中
        向后兼容sysv init脚本
    不兼容:
        systemctl命令固定不变,不可扩展
        非由systemd启动的服务,systemctl无法与之通信和控制

管理服务
    管理系统服务:
        CentOS 7: service unit
        注意:能兼容早期的服务脚本
    命令:systemctl COMMAND name.service
    启动:service name start ==> systemctl start name.service
    停止:service name stop ==> systemctl stop name.service
    重启:service name restart ==> systemctl restart name.service
    状态:service name status ==> systemctl status name.service

管理服务
    条件式重启:已启动才重启,否则不做操作
        service name condrestart ==> systemctl try-restart name.service
    重载或重启服务:先加载,再启动
        systemctl reload-or-restart name.service
    重载或条件式重启服务:
        systemctl reload-or-try-restart name.service
    禁止自动和手动启动:
        systemctl mask name.service
    取消禁止:
        systemctl unmask name.service

服务查看
    查看某服务当前激活与否的状态:
        systemctl is-active name.service
    查看所有已经激活的服务:
        systemctl list-units --type|-t service
    查看所有服务:
        systemctl list-units --type service --all|-a
chkconfig命令的对应关系:
    设定某服务开机自启:
        chkconfig name on ==> systemctl enable name.service
    设定某服务开机禁止启动:
        chkconfig name off ==> systemctl disable name.service
    查看所有服务的开机自启状态:
        chkconfig --list ==> systemctl list-unit-files --type service
    用来列出该服务在哪些运行级别下启用和禁用
        chkconfig sshd –list ==>
        ls /etc/systemd/system/*.wants/sshd.service
    查看服务是否开机自启:
        systemctl is-enabled name.service
    其它命令:
        查看服务的依赖关系:
        systemctl list-dependencies name.service
    杀掉进程:
            systemctl kill unitname
    systemctl list-unit-files --type service --all显示状态
    loaded:Unit配置文件已处理
    active(running):一次或多次持续处理的运行
    active(exited):成功完成一次性的配置
    active(waiting):运行中,等待一个事件
    inactive:不运行
    enabled:开机启动
    disabled:开机不启动
    static:开机不启动,但可被另一个启用的服务激活

systemctl 命令示例
    显示所有单元状态
        systemctl 或 systemctl list-units
    只显示服务单元的状态
        systemctl --type=service
    显示sshd服务单元
        systemctl –l status sshd.service
    验证sshd服务当前是否活动
        systemctl is-active sshd
    启动,停止和重启sshd服务
        systemctl start sshd.service
        systemctl stop sshd.service
        systemctl restart sshd.service
    重新加载配置
        systemctl reload sshd.service
    列出活动状态的所有服务单元
        systemctl list-units --type=service
    列出所有服务单元
        systemctl list-units --type=service --all
    查看服务单元的启用和禁用状态
        systemctl list-unit-files --type=service
    列出失败的服务
        systemctl --failed --type=service

    列出依赖的单元
        systemctl list-dependencies sshd
    验证sshd服务是否开机启动
        systemctl is-enabled sshd
    禁用network,使之不能自动启动,但手动可以
        systemctl disable network
    启用network
        systemctl enable network
    禁用network,使之不能手动或自动启动
        systemctl mask network
    启用network
        systemctl unmask network

service unit文件格式
    /etc/systemd/system:系统管理员和用户使用
    /usr/lib/systemd/system:发行版打包者使用
    以 “#” 开头的行后面的内容会被认为是注释
    相关布尔值,1、yes、on、true 都是开启,0、no、off、false 都是关闭
    时间单位默认是秒,所以要用毫秒(ms)分钟(m)等须显式说明
    service unit file文件通常由三部分组成:
        •[Unit]:定义与Unit类型无关的通用选项;用于提供unit的描述信息、unit行为及依赖关系等
        •[Service]:与特定类型相关的专用选项;此处为Service类型
        •[Install]:定义由“systemctl enable”以及"systemctl disable“命令在实现服务启用或禁用时用到的一些选项


其它命令
    切换至紧急救援模式:
        systemctl rescue
    切换至emergency模式:
        systemctl emergency
    其它常用命令:
        传统命令init,poweroff,halt,reboot都成为
            systemctl的软链接
        关机:systemctl halt、systemctl poweroff
        重启:systemctl reboot
        挂起:systemctl suspend
        休眠:systemctl hibernate
        休眠并挂起:systemctl hybrid-sleep
avatar

发表评论

您必须登录才能发表评论!