小编Mar*_*erg的帖子

如何创建一个虚拟的 systemd 服务来一起停止/启动多个实例?

我计划为使用systemd. 我希望能够stopstart每个客户实例使用systemd,以及将整个客户实例集合视为可以一起停止和启动的单个服务。

systemd似乎提供了我需要使用的构建块PartOf和模板单元文件,但是我停止了父服务,子客户服务并未停止。如何使用 systemd 进行此操作?这是我到目前为止所拥有的。

父单元文件,app.service

[Unit]
Description=App Web Service

[Service]
# Don't run as a deamon (because we've got nothing to do directly)
Type=oneshot
# Just print something, because ExecStart is required
ExecStart=/bin/echo "App Service exists only to collectively start and stop App instances"
# Keep running after Exit start finished, because we want the instances that depend on this to keep running
RemainAfterExit=yes
StandardOutput=journal
Run Code Online (Sandbox Code Playgroud)

一个名为 …

ubuntu systemd

13
推荐指数
2
解决办法
2万
查看次数

为什么在使用“验证”检查文件语法时,systemd 会报告“尝试删除磁盘文件系统”?

systemd附带的systemd-analyze命令具有verify允许您检查systemd单元文件语法的功能。

但是,当我今天使用systemdv238运行它时,我收到一条消息,提示已尝试删除磁盘文件系统。这是怎么回事?

$ sudo systemd-analyze verify /etc/systemd/system/my.timer
Attempted to remove disk file system, and we can't allow that
Run Code Online (Sandbox Code Playgroud)

systemd

12
推荐指数
1
解决办法
5553
查看次数

“systemctl --user enable SERVICE”究竟是什么意思?

我希望systemctl --user enable SERVICE在登录时启动该服务,但这并没有发生。那么它应该是什么意思呢?

arch-linux systemd

9
推荐指数
1
解决办法
1万
查看次数

如何在退出前修复 systemd 日志最后一行的单位属性?

我有一个登录到标准输出的 systemd 服务。从那里,systemd 捕获 STDOUT 并将其写入日志。

我使用一个常见的习惯用法来处理错误,在那里我进行了echo一些诊断,然后以非零错误代码退出:

echo "my final error";
exit 1;
Run Code Online (Sandbox Code Playgroud)

我的问题是这最后echo一行进入了日志,但与我的“单位”没有正确关联。通过查看journalctl -o json-pretty,我可以看到有什么不同。最后的日志记录缺少 _SYSTEMD_CGROUP 和 _SYSTEMD_UNIT 属性。

我认为正在发生的是一种竞争条件。我怀疑 bash 脚本journald在进入退出行之前没有等待完全处理。因此exitjournald完成处理日志条目之前到达该行。journald尝试查找unit发送日志的 ,但现在无法找到它,因为该单元不再运行。

如果我是对的,我可能可以通过sleep 1在我的exit 1声明之前放置来解决这个问题,但是有没有更好的方法来获得最终日志属性的属性?

systemd在 Ubuntu 16.04 上使用版本 229。

systemd systemd-journald

5
推荐指数
1
解决办法
725
查看次数

systemd 单元名称中“前缀的最终组成部分”的使用示例是什么?

Systemd 允许您创建模板单元,如systemd.unit中所述。

您可以在模板单元中使用许多变量。

我对......感兴趣"%j"

这是最后一个“-”和前缀名称末尾之间的字符串。

“前缀名称”也被定义:

对于实例化单元,这是指单元名称的第一个“@”字符之前的字符串。

我清楚它们是什么,但不清楚它们为什么存在。

我猜他们可能正在运行同一服务的多个版本。现实世界中如何使用它的示例是什么?

systemd

3
推荐指数
1
解决办法
587
查看次数

标签 统计

systemd ×5

arch-linux ×1

systemd-journald ×1

ubuntu ×1