插件窝 干货文章 linux安装systemctl后怎测试

linux安装systemctl后怎测试

systemctl systemd 服务 测试 749    来源:    2025-05-13

在 Linux 系统中,systemctlsystemd 系统和服务管理器的核心工具。大多数现代 Linux 发行版(如 Ubuntu 16.04+/CentOS 7+)已默认安装 systemdsystemctl。以下是测试 systemctl 是否正常工作的步骤:


1. 确认 systemd 和 systemctl 已安装

# 检查 systemd 版本(确认是否安装)
systemctl --version

# 检查 systemctl 路径
which systemctl
  • 如果命令返回版本信息和路径,说明已安装。

2. 测试 systemctl 基本功能

查看系统状态

# 查看系统整体状态
systemctl status

# 检查系统启动时间(确认 systemd 正常运行)
systemd-analyze time

列出所有单元(units)

# 列出所有已加载的单元(服务、挂载点、设备等)
systemctl list-units

# 仅列出失败的单元
systemctl --failed

测试服务管理

选择一个常用服务(如 sshdnginxcron)进行测试:

# 查看服务状态(以 sshd 为例)
systemctl status sshd

# 启动/停止/重启服务
sudo systemctl start sshd
sudo systemctl stop sshd
sudo systemctl restart sshd

# 启用/禁用开机自启
sudo systemctl enable sshd
sudo systemctl disable sshd

3. 测试日志功能(journalctl)

systemd 使用 journalctl 管理日志,测试日志是否正常记录:

# 查看全部日志
journalctl

# 查看指定服务的日志(如 sshd)
journalctl -u sshd

# 实时跟踪日志
journalctl -f

4. 模拟创建自定义服务(高级测试)

步骤 1:创建测试服务文件

sudo nano /etc/systemd/system/test.service

输入以下内容:

[Unit]
Description=Test Service

[Service]
ExecStart=/bin/bash -c "while true; do echo 'Test service running...' >> /tmp/test.log; sleep 10; done"

[Install]
WantedBy=multi-user.target

步骤 2:启动并测试服务

# 重载 systemd 配置
sudo systemctl daemon-reload

# 启动服务
sudo systemctl start test.service

# 查看状态和日志
systemctl status test.service
journalctl -u test.service

# 检查服务输出
cat /tmp/test.log

5. 常见问题排查

  • 问题 1:systemctl 命令不存在
    说明系统未使用 systemd(如旧版 Debian/Ubuntu 使用 sysvinit)。可通过以下命令确认:

    ps -p 1 -o comm=  # 若返回 "init" 或 "upstart",则非 systemd
    
  • 问题 2:服务启动失败
    使用 journalctl -xe 查看详细错误日志。

  • 问题 3:权限不足
    确保使用 sudo 执行需要 root 权限的操作。


总结

通过上述步骤,你可以验证 systemctl 是否正常工作。如果所有命令均能正确执行并返回预期结果,则说明 systemdsystemctl 已正常安装并运行。