这是在安装 Google Chrome(用于无头浏览器功能)后开始的。我得出结论,这与 Chrome 有关。在安装后的最初几个小时里,我正在构建一个在远程浏览器中调用 Chrome 的短时间运行的脚本。
这个问题有两个方面。systemd 是否可以持续运行?如果可以,如何抑制警报?
几天来,我一直在收到 2 个经销商帐户的以下报告(每小时共 4 份)。请注意,处理时间以“天”为单位。
Time: Sat Oct 19 08:44:54 2024 -0400
Account: accountname
Resource: Process Time
Exceeded: 376436 > 1800 (seconds)
Executable: /usr/lib/systemd/systemd
Command Line: (sd-pam)
PID: 35343 (Parent PID:35342)
Killed: No
和
Time: Sat Oct 19 08:44:54 2024 -0400
Account: accountname
Resource: Process Time
Exceeded: 376436 > 1800 (seconds)
Executable: /usr/lib/systemd/systemd
Command Line: /lib/systemd/systemd --user
PID: 35342 (Parent PID:35342)
Killed: No
在 csf.piginore 中添加以下 4 行并重新启动 LFD 后,警报仍然会出现。
pcmd: /usr/lib/systemd/systemd
pexe: /usr/lib/systemd/systemd
cmd: (sd-pam)
cmd: /lib/systemd/systemd --user
**编辑** 为 grawity 的答案添加图像。
'systemd --user' 进程属于
user@<uid>.service
(您可以使用 查找systemctl status <pid>
)。它的全部用途是托管用户级服务,因此它确实在用户登录的整个过程中运行(就拥有活动的 SSH 会话或等效内容而言)。默认情况下,它会在用户登录时自动启动,并在用户完全注销后几分钟停止,但理论上它也可能因其他原因启动。您可以自行决定是否限制其运行时间,或直接禁用它。
运行
loginctl
以检查是否确实存在与该用户关联的登录会话,或loginctl status <user>
查看用户的进程树(包括 systemd --user)。有时会话可能处于放弃状态,从技术上讲它们已关闭但仍有进程(例如当您使用“nohup”运行某些操作然后退出 SSH 时)。还可以运行
systemctl status user@<uid>
以仅查看“systemd --user”的进程树(包括其管理的所有子单元)。如果您没有发现任何导致其停滞运行的原因(没有登录会话、没有用户级服务),则可以从技术上关闭systemctl stop
服务或以常规方式终止进程。u1686_grawity 的回答帮助我找到了问题,因为它为我打开了思路
systemctl
。loginctl
在得出此处概述的结论之前,我进行了多次反复尝试。解决方案似乎在配置值中
/etc/systemd/logind.conf
。当我第一次检查使用 Debian 11 的 VPS 时,此文件中的所有键都被注释掉了。我最终取消了这些注释:重启后,令人厌烦的、每小时一次的 CSF 进程警报消息就停止了,并且 loginctl 不再显示系统上用户的一堆会话(进程)。
附注:
不包含密钥
StopIdleSessionSec=
,这可能也修复了无法注销用户会话的问题。注意:对于 Debian 系统,配置文件键的说明如下:logind.conf - systemd - Debian Manpages