关于systemd作为自身子进程运行是否正常的技术咨询
别担心,这种情况完全是正常的,根本不是系统出问题的信号!
你看到的其实是两种不同作用的systemd实例:
- PID 1的systemd是系统级初始化进程,它是整个系统的“根进程”,负责启动和管理所有系统级的服务、硬件初始化等核心工作,是Linux系统启动后的第一个进程。
- PID 933的systemd则是用户级的systemd实例,对应你贴出来的
user@1000.service——这是systemd为每个登录的普通用户自动启动的专属用户管理器,专门用来管理该用户会话下的所有进程和服务,比如桌面环境、用户自己启动的后台程序、定时任务等等。
这个用户级管理器是由系统级的PID 1 systemd启动的,所以在进程树里会显示为PID 1的子进程,这是systemd的标准设计:通过分离系统服务和用户服务,实现更好的权限隔离和资源管理,每个用户的进程都在自己的管理实例下运行,既安全又方便单独管控。
你提供的服务状态信息也能验证这一点:
● user@1000.service - User Manager for UID 1000
Loaded: loaded (/lib/systemd/system/user@.service; static)
Drop-In: /usr/lib/systemd/system/user@.service.d
└─10-oomd-user-service-defaults.conf, timeout.conf
Active: active (running) since Sat 2022-12-17 09:29:17 CST; 1h 48min ago
Docs: man:user@.service(5)
Main PID: 933 (systemd)
Status: "Startup finished in 2.088s."
Tasks: 643
Memory: 10.8G
CPU: 1h 28min 25.187s
这里明确标注了这是“UID 1000的用户管理器”,主进程就是systemd,而且处于正常运行状态,完全不需要担心。
备注:内容来源于stack exchange,提问作者J T Richter 'commander-prompt'

