一看就懂的 Systemd 进程管理教程

原创
ithorizon 7个月前 (10-13) 阅读数 41 #Linux

一看就懂的 Systemd 进程管理教程

Systemd 是 Linux 系统的初始化系统和服务管理器,它取代了传统的 init 系统并提供了更加有力和灵活的进程管理功能。本文将为您介绍怎样使用 Systemd 进行进程管理,包括服务管理、守护进程管理以及系统启动管理等方面。

1. Systemd 简介

Systemd 是 Linux 系统的一个守护进程,负责在系统启动时启动和停止各种服务。它使用了一种名为“unit”的配置文件格式来定义服务、系统设置和其他系统组件。Systemd 提供了以下核心功能:

  • 服务管理:启动、停止、重启和重载服务
  • 守护进程管理:控制守护进程的生命周期
  • 系统启动管理:控制系统的启动过程
  • 日志管理:收集和分析系统日志

2. 查看和启动服务

要查看系统中的所有服务,可以使用以下命令:

systemctl list-units --type=service

要启动一个服务,可以使用以下命令:

systemctl start 服务名称

例如,启动 Apache 服务:

systemctl start apache2

3. 停止和重启服务

要停止一个服务,可以使用以下命令:

systemctl stop 服务名称

要重启一个服务,可以使用以下命令:

systemctl restart 服务名称

4. 查看服务状态

要查看一个服务的状态,可以使用以下命令:

systemctl status 服务名称

5. 重载和重新加载服务

要重新加载一个服务的配置文件而不重新启动服务,可以使用以下命令:

systemctl reload 服务名称

要使服务的所有配置立即生效,可以使用以下命令:

systemctl daemon-reload

6. 守护进程管理

Systemd 提供了守护进程管理功能,可以控制守护进程的生命周期。以下是一些常用的守护进程管理命令:

  • 启动守护进程:systemctl start 守护进程名称
  • 停止守护进程:systemctl stop 守护进程名称
  • 重启守护进程:systemctl restart 守护进程名称
  • 查看守护进程状态:systemctl status 守护进程名称

7. 系统启动管理

Systemd 提供了系统启动管理功能,可以控制系统的启动过程。以下是一些常用的系统启动管理命令:

  • 查看系统启动级别:systemctl get-default
  • 设置系统启动级别:systemctl set-default 目标级别
  • 列出所有可用启动级别:systemctl list-unit-files --type=target

8. 单元文件

Systemd 的配置文件通常以 .service 或 .target 为后缀,称为单元文件。以下是一个简洁的 Apache 服务单元文件示例:

[Unit]

Description=Apache HTTP Server

After=network.target

[Service]

Type=forking

PIDFile=/var/run/apache2/apache2.pid

ExecStart=/usr/sbin/apache2 -DFOREGROUND

ExecReload=/usr/sbin/apache2ctl graceful

ExecStop=/bin/kill -s TERM %PIDFILE

Restart=always

[Install]

WantedBy=multi-user.target

这个文件定义了以下内容:

  • 描述:Apache HTTP Server 的描述信息
  • After:在启动 Apache 之前需要启动 network.target
  • Service:定义了服务的启动、停止、重启和重载等行为
  • Install:定义了服务的安装信息

9. Systemd 日志管理

Systemd 提供了有力的日志管理功能,可以将系统日志输出到不同的地方。以下是一些常用的日志管理命令:

文章标签: Linux


热门