控制服务和守护进程

21 篇文章 0 订阅
21 篇文章 0 订阅

识别自动启动的系统进程

systemd 介绍

systemd daemon 管理 Linux 的启动,包括服务的启动和管理
 systemd 可在系统引导时以及运行中的系统上激活系统资源、服务器守护进程和其他进程
 守护进程 daemon 是在后台运行或等待的进程,以执行不同的任务。通常daemon 在系统启动时运行,直到关机时才结束运行。 deamon 程序名称一般会有 d 字符
 systemd 中的 service 通常指一个或多个 daemon
RHEL 中,PID 1 是 systemd,提供以下几项功能:
- 并行化功能(同时启动多个服务),可提高系统的启动速度
- 按需启动守护进程,而不需要单独的服务
- 自动服务依赖关系管理,可以防止 timeouts。例如,只有在网络可用时, 依赖网络的服务才会尝试启动
- 利用 Linux cgoups 追踪相关进程资源占用

service units 简介

systemd 使用 units 管理不同类型对象,常见的 units 类型包括:
服务单元 .service 代表系统服务。这种单元用于启动经常访问的守护进程, 如 httpd.service
套接字单元.socket 代表 systemd 监控的进程间通信 (IPC) socket。如果客戶端连接 socket,systemd 将启动一个守护进程并将连接传递给它。Socket unit 用于延迟系统启动时的服务启动,或者按需启动不常使用的服务
路径单元 .path 特定文件系统更改发生之后,服务才激活,如打印系统
 units 被 systemctl 命令管理
systemctl -t help 显示所有可用 units

列出 service units

systemctl 命令 探索系统当前的状态

# systemctl list-units --type=service 列出所有 active 状态的 service unit
# systemctl list-units --type=service --all 列出所有 service unit --type=service 将列出的单元类型限定为服务单元

其中: UNIT 是 service unit 名称; LOAD 是 unit 的配置已加载到内存中; ACTIVE 表示 unit 高级激活状态,已经启动; SUB 表示 unit 低级别激活状态,有更多关于 unit 的状态信息; DESCRIPTION 是 unit 的简短描述
# systemctl 列出所有已经 load 和 active 的 unit

# systemctl list-unit- files 显示所有已经安装的 units 状态 STATE 字段有效条目有:enabled、disabled、static 和 masked(启用、禁用、静态、屏蔽)

查看 service 状态

systemctl status name.type

 

控制系统服务

启动和停止服务

 # systemctl start name.service 启动服务
 # systemctl start name 如果不指明 unit 类型,默认使用 .service
 # systemctl stop name.service 停止服务

重新启动和加载服务

 # systemctl restart name.service 重启服务
 # systemctl reload name.service 重新加载服务,而无需重启
 # systemctl reload-or-restart name.service 优先重新加载,不行则重启

列出 unit 依赖关系

 有些服务要求首先运行其它服务,因此需要创建依赖项
 服务可能并不在系统引导时启动,而是仅在需要时启动
 systemctl 可以根据需要启动服务及其依赖的服务
 systemctl list-dependencies UNIT 列出 unit 的依赖关系

屏蔽未屏蔽的服务

 系统中的不同服务可能会彼此冲突,比如 postfix 和 sendmail
 systemctl mask 命令屏蔽服务,可防止管理员意外启动与其他服务冲突的服务。屏蔽操作会创建指向 /dev/null 文件的链接,这可阻止服务的启动

 

 systemctl unmask 命令可取消屏蔽

 

 注:disable 的服务可以手动启动,或通过其他单元文件启动,但不会在系统引导时自动启动。mask 的服务无法手动启动,也不会自动启动

开机启动或不启动服务

 systemctl enable 命令设置服务开机启动

 

 systemctl disable 命令设置服务开机不启动

 

 systemctl is-enabled 验证服务开机是否启动

systemctl 命令总结

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值