删除使用“systemd-run --on-calendar”创建的计时器

Jör*_*der 7 systemd systemd-timer

我创建使用systemd工作systemd-run --on-calendar ....现在,我已经适当取代它.timer.service文件,但我不能删除旧的。我可以停止并禁用它,但是当我调用systemctl list-timers它时,它仍然显示为任意名称run-r0d0dc22...。我也找过它的.timer文件,但找不到。

meu*_*euh 7

临时文件最终会出现/run/user/,并且似乎永远不会被删除,直到用户注销(for systemd-run --user)或重新启动(重新创建)为止/run

例如,如果您创建一个仅在给定时间运行一次的命令:

systemd-run --user --on-calendar '2017-08-12 14:46' /bin/bash -c 'echo done >/tmp/done'
Run Code Online (Sandbox Code Playgroud)

您将在以下位置获得您拥有的文件/run

/run/user/1000/systemd/user/run-28810.service
/run/user/1000/systemd/user/run-28810.service.d/50-Description.conf
/run/user/1000/systemd/user/run-28810.service.d/50-ExecStart.conf
/run/user/1000/systemd/user/run-28810.timer
/run/user/1000/systemd/user/run-28810.timer.d/50-Description.conf
/run/user/1000/systemd/user/run-28810.timer.d/50-OnCalendar.conf
Run Code Online (Sandbox Code Playgroud)

对于非--user文件位于/run/systemd/system/

您可以删除文件,执行 a systemctl [--user] daemon-reload,然后list-timers将仅显示单元名称以及它们的最后历史记录(如果它们已经运行)。此信息可能保存在 systemd 的内部状态或日志文件中。