我对systemd如何跟踪主过程存在后仍保留的主过程的子对象感兴趣?
Systemd为此使用cgroups。在启动用服务文件定义的任何可执行文件之前,systemd创建一个cgroup并将可执行文件放入其中[*]。之后,cgroup中有多少个子进程或分支多少次都无关紧要。对于systemd,它们都属于同一个cgroup。
要知道的另一件好事是,当父进程死亡时,该父进程的子进程继承PID 1(systemd)作为其父进程。这是一个Unix规则。
[ ]系统首先创建一个cgroup。然后将其自身派生出来,并将新进程放入此cgroup中。然后调用exec()系列调用您服务的ExecStart =二进制文件。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句