gpt4 book ai didi

linux - systemctl show 不显示几个属性

转载 作者:太空宇宙 更新时间:2023-11-04 10:22:28 30 4
gpt4 key购买 nike

我正在使用 systemctl 使用命令 systemctl show 从 ssh.service 单元文件中获取 EnvironmentFile 属性的值ssh.service -p EnvironmentFile 但返回空结果。

单元文件本身包含此属性。例如,我的单元文件如下所示 (cat/lib/systemd/system/ssh.service):

[Unit]
Description=OpenBSD Secure Shell server
After=network.target auditd.service
ConditionPathExists=!/etc/ssh/sshd_not_to_be_run

[Service]
EnvironmentFile=-/etc/default/ssh
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartPreventExitStatus=255
Type=notify

[Install]
WantedBy=multi-user.target
Alias=sshd.service

此外,如果我执行 systemctl show ssh.service | grep EnvironmentFile 我得到:

EnvironmentFile=/etc/default/ssh (ignore_errors=yes)

几乎所有其他属性都按预期工作,例如 systemctl show ssh.service -p After 返回扩展依赖项:

After=network.target auditd.service systemd-journald.socket basic.target sysinit.target system.slice

与属性 ConditionPathExists 存在同样的问题,但在这种情况下,即使 grep 也不显示此属性(systemctl show ssh.service | grep ConditionPathExists 不打印任何内容)。

为什么会这样?以及如何在不使用 grep 的情况下从单元文件中获取 EnvironmentFile 属性?

最佳答案

我在 systemd 229 中重现了缺少 EnvironmentFile 的问题,并交叉引用了 systemctl 的文档以及 NEWS 文件从 systemd 的最新版本中查看是否提到了此行为已更改。没有。

这似乎是 systemd 中的错误。 systemctl 的文档暗示,在查看 show--property 的文档时,这将起作用。正如您所指出的,如果您 grep 查找该属性,它肯定存在。

我鼓励您搜索 existing open issues for systemd看看是否已经有一个 Unresolved 问题。如果没有,请打开一个新的问题报告。

如果行为按预期工作,则应更新 man systemctl 文档以阐明这一点。

关于linux - systemctl show 不显示几个属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43281795/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com