Art*_*nov 22 logs systemd-journald rtkit-daemon
journalctl -b | grep Supervising | wc -l
2819
Run Code Online (Sandbox Code Playgroud)
发行版是 Fedora 35,vanilla,由 PipeWire 运行。
我很确定所有现代 Linux 发行版都会受到影响,但人们并不关心。
rsyslog
这里没有,journald
也不支持过滤。
这真是太荒谬了。我肯定可以修补它,但问题是如何在不应用修补程序和重建的情况下完成它。这个东西,/usr/libexec/rtkit-daemon
甚至没有手册页,也没有提供--help
任何线索。
有一个相关的问题也从未得到解答:rtkit:列出它正在“监督”的线程?
我只能想到运行rtkit-daemon
一些包装器,它只是禁用与 /system 日志记录相关的所有功能/dev/log
。有人见过类似的东西吗?
我已经提交了一份错误报告以防万一。
MC6*_*020 25
正如 Artem 正确地写道,systemd 日志的过滤功能非常有限。因此,限制服务或桌面应用程序冗长程度的唯一解决方案是在任何类型的进一步处理之前,在日志记录管道中尽早组织过滤。
\n为了对 systemd 服务实现这一点:
\nA/找到与要调整的服务关联的目录。\n通常基于(/usr)/lib/systemd/system
在包安装时分发的服务,例如 rtkit-daemon。\n在这种特殊情况下:rtkit-daemon.service.d
B/在此目录中(或者更好地在系统范围的配置子目录中,/etc/systemd/system/rtkit-daemon.service.d
因为它不会通过进一步的软件包升级而被静默删除)编辑或创建一个log.conf
文件以插入以下语句:
[Service]\nLogLevelMax=X\n
Run Code Online (Sandbox Code Playgroud)\nX 代表所需的数字日志级别或其关联的字母符号,取自以下列表:
\n对于选择的给定级别,将不会输出所有更高级别的日志。\n请注意,如果在任何 systemd service .conf 文件中没有指定日志级别,则守护程序的日志级别默认为 7,换句话说,允许最高级别冗长的。
\n关于标题中所述的具体需求,LogLevelMax= 5(注意)应该足够了(评论中报告为 6)。
\nC/保存并退出编辑器,然后运行以下两个命令:
\nsystemctl daemon-reload\nsystemctl restart rtkit-daemon.service\n
Run Code Online (Sandbox Code Playgroud)\n注意:由于“新样式守护进程”(原文如此)\xe2\x80\xa6将在自己的会话中执行,标准输入连接到 /dev/null ,标准输出/错误连接到 systemd-journald.service(8 ) 日志服务日志记录可以通过任何简单的 (f)print(f) 来实现。\n然后可以通过简单地将其 stdout 和 stderr 重定向到 /dev/null 来完全静默守护进程。
\n虽然我很容易想象这是不推荐的(因为明智的做法是至少让关键错误进入系统日志),但这种重定向可以通过以下语句来实现:
\n[Service]\nStandardOutput=null\nStandardError=null\n
Run Code Online (Sandbox Code Playgroud)\n学分:基于systemd.exec 文档的答案
\n 归档时间: |
|
查看次数: |
7303 次 |
最近记录: |