systemd 系统systemctl命令

systemctl 是 Linux 系统中用于控制 systemd 系统和服务管理器的命令行工具,提供了启动、停止、重启、启用、禁用服务等功能。以下是常用的 systemctl 命令及其功能:

服务管理相关命令

  1. 启动服务
    systemctl start <服务名>
    示例: 启动 nginx 服务
    systemctl start nginx
  2. 停止服务
    systemctl stop <服务名>
    示例: 停止 nginx 服务
    systemctl stop nginx
  3. 重启服务
    systemctl restart <服务名>
    示例: 重启 nginx 服务
    systemctl restart nginx
  4. 重新加载服务配置
    systemctl reload <服务名>
    示例: 重新加载 nginx 配置
    systemctl reload nginx
  5. 查看服务状态
    systemctl status <服务名>
    示例: 查看 nginx 服务状态
    systemctl status nginx
  6. 查看服务是否启用(随系统启动)
    systemctl is-enabled <服务名>

服务启用与禁用

  1. 启用服务(开机自启)
    systemctl enable <服务名>
    示例: 设置 nginx 服务开机自启
    systemctl enable nginx
  2. 禁用服务(关闭开机自启)
    systemctl disable <服务名>
    示例: 禁用 nginx 服务开机自启
    systemctl disable nginx
  3. 立即启用服务且保持开机自启
    systemctl enable --now <服务名>
  4. 立即禁用服务且停止运行
    systemctl disable --now <服务名>

服务日志查看

  1. 实时查看服务日志
    journalctl -u <服务名> -f
    示例: 实时查看 nginx 日志
    journalctl -u nginx -f
  2. 查看服务启动失败的原因
    journalctl -xe

其他管理命令

  1. 列出所有服务
    systemctl list-units --type=service
  2. 列出已启用的服务
    systemctl list-unit-files --type=service --state=enabled
  3. 重载 systemd 配置(在更改服务文件后使用)
    systemctl daemon-reload
  4. 开机重启服务
    systemctl reboot
  5. 关闭系统
    systemctl poweroff
  6. 挂起系统
    systemctl suspend

如果你需要配置或调试特定服务,可以分享更多细节,我会进一步帮助!

自定义程序或脚本加入到 systemctl 中管理

要将一个自定义程序或脚本加入到 systemctl 中管理,需要创建一个 systemd 服务文件,并将其放置在适当的目录中(通常是 /etc/systemd/system)。以下是详细步骤:

步骤 1:创建服务文件
服务文件的命名通常是 <服务名>.service,文件路径为 /etc/systemd/system/<服务名>.service。
示例:创建服务文件
sudo nano /etc/systemd/system/my-service.service

步骤 2:编写服务文件内容
一个典型的 systemd 服务文件内容如下:
[Unit]
Description=描述你的服务功能
After=network.target # 指定服务需要在网络服务启动之后启动

[Service]
ExecStart=/usr/bin/python3 /path/to/your_script.py # 指定程序的启动命令
WorkingDirectory=/path/to/your_script_directory # 指定工作目录
Restart=always # 在服务退出时自动重启
User=root # 指定运行服务的用户
Group=root # 指定运行服务的用户组

[Install]
WantedBy=multi-user.target # 指定服务的目标运行级别
说明:
● ExecStart 是你的程序启动命令,需填写全路径。
● Restart=always 确保程序崩溃后会自动重启。
● 如果是非系统管理员服务,可以将 User 和 Group 改为普通用户。

步骤 3:保存并刷新 systemd 配置
保存服务文件后,执行以下命令让 systemd 重新加载配置:
sudo systemctl daemon-reload

步骤 4:启用服务

  1. 启动服务:
    sudo systemctl start my-service
  2. 设置开机自启:
    sudo systemctl enable my-service
  3. 检查服务状态:
    sudo systemctl status my-service

步骤 5:验证服务日志
查看服务的运行日志,确认是否正常运行:
sudo journalctl -u my-service -f

其他说明

  1. 停止服务:
    sudo systemctl stop my-service
  2. 禁用服务(取消开机自启):
    sudo systemctl disable my-service
  3. 修改服务文件后需要重载配置:
    sudo systemctl daemon-reload
  4. 重新启动服务:
    sudo systemctl restart my-service
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思静鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值