Systemd 是现代 Linux 系统的核心服务管理器,负责进程启动、服务生命周期管理及系统初始化。以下是其关键功能和使用方式:
服务管理
sudo systemctl start <服务名>sudo systemctl stop <服务名>sudo systemctl restart <服务名>sudo systemctl enable <服务名>sudo systemctl status <服务名>(显示运行状态、日志等)启动项管理
systemctl list-unit-files --type=servicesudo systemctl disable <服务名>(避免无关服务随系统启动)依赖与顺序控制
[Unit] 段的 After/Before 指定服务启动顺序,确保依赖服务先启动。After=network.target 表示服务需在网络就绪后启动。创建服务文件
/etc/systemd/system/ 下新建 .service 文件,如 myapp.service:[Unit]
Description=My Custom Application
After=network.target
[Service]
ExecStart=/usr/bin/myapp --config=/etc/myapp/config.conf
Restart=on-failure
User=myapp
Group=myapp
[Install]
WantedBy=multi-user.target
ExecStart:指定启动命令。Restart:定义失败时自动重启策略(如 on-failure)。启用与加载配置
sudo systemctl daemon-reloadsudo systemctl enable --now myapp(--now 表示立即启动)journalctl -u <服务名>(实时日志用 -f)systemctl status <服务名>(查看错误信息)。systemctl daemon-reload 前确保服务文件无语法错误。| 操作 | 命令 | 说明 |
|---|---|---|
| 启动服务 | sudo systemctl start <服务名> |
立即启动服务 |
| 停止服务 | sudo systemctl stop <服务名> |
立即停止服务 |
| 重启服务 | sudo systemctl restart <服务名> |
重启服务(中断当前进程) |
| 开机自启 | sudo systemctl enable <服务名> |
设置服务随系统启动 |
| 禁用开机自启 | sudo systemctl disable <服务名> |
取消服务开机自启 |
| 查看状态 | sudo systemctl status <服务名> |
显示服务运行状态及日志 |
| 重新加载配置 | sudo systemctl daemon-reload |
重新加载服务配置文件 |
通过 systemd,可高效管理 Linux 进程与服务,实现自动化启动、依赖控制及日志追踪,显著提升系统管理的便捷性和可靠性。