SuperAPI AI 工具集

linux-systemd

通用与其它

查看项目

更新于 10-15 19:55

技能介绍

用途:在 Linux 上管理 systemd,包括服务单元、系统控制、日志查询,以及 cgroup 与 socket 激活等集成能力,并专门用于 OpenClaw 服务管理。适用于自动化 Linux 服务操作(启停守护进程、监控日志、用 cgroup 限制资源)、系统管理脚本、容器编排,或将 OpenClaw 集成为 systemd 服务;不适用于 BSD 或自定义 init 等非 systemd 系统。

主要能力:管理 /etc/systemd/system/ 下的 service、socket、timer 单元文件;用 systemctl 启停、重启单元;用 journalctl 查询指定单元的实时或历史日志;通过 cgroup 设置 CPU/内存限制;启用 socket 激活按需启动服务;为 OpenClaw 创建单元文件,ExecStart 指向其二进制。

使用方式:命令需用 sudo 或 root 执行。脚本中可用 Python subprocess 或 Bash 调用 systemctl/journalctl。常用命令如 systemctl start <unit>、journalctl -u <unit> -f、systemctl restart <unit> --no-block。cgroup 限制在单元文件 [Service] 段设置(如 CPUQuota=50%),随后执行 systemctl daemon-reload 并重启单元。socket 激活需定义 .socket 单元(如 ListenStream=12345)并关联服务单元。OpenClaw 单元示例:[Unit] Description=OpenClaw Service;[Service] ExecStart=/usr/bin/openclaw --config /etc/openclaw/config.json。环境变量可在单元文件中用 Environment= 设置。修改后需 systemctl daemon-reload,并用 systemctl list-units --type=service 检查冲突。

错误处理:检查命令退出码,Bash 用 if systemctl start <unit>; then ...; fi,Python 用 try-except 包裹 subprocess 并设 check=True。常见错误包括权限或依赖导致的启动失败、单元名不存在;cgroup 失败可用 systemctl status <unit> 调试,并用 cat /proc/cgroups 确认内核支持。

限制:资料未提供该技能的具体安装方式、版本要求、收费信息或平台支持范围。