fork - systemd 如何使用 Type=fork 跟踪 fork 进程
问题描述
我很感兴趣 systemd 如何跟踪主进程存在后仍然存在的主进程的子进程?
解决方案
Systemd 正在为此使用 cgroups。在启动任何使用服务文件定义的可执行文件之前,systemd 创建一个 cgroup 并将可执行文件放入其中 [*]。之后,无论有多少子进程或 cgroup 中的进程分叉了多少次,都无关紧要。对于 systemd,它们都属于同一个 cgroup。
要知道的另一件好事是,当父进程死亡时,该父进程的子进程继承 PID 1 (systemd) 作为其父进程。这是一个 Unix 规则。
[ ] 系统首先创建一个 cgroup。然后将它自己分叉并将新进程放在这个 cgroup 中。然后为您的服务的 ExecStart= 二进制调用 exec () 族调用。
推荐阅读
- google-play - Googleplay purchase.products.acknowledge 返回 400 not a valid state 和 409 cocurrentUpdate
- excel - 如果单元格为空,则用公式填充单元格
- python - 在 Python 的箱线图中仅显示平均 SEM 和 95% CI
- django - Fargate oneoff 任务继续运行
- syntax - Slurm作业名的语法?
- gcloud - gcloud 组件安装错误,Windows 10 WSL 1 上的权限被拒绝,即使在使用 sudo 权限执行后也是如此
- css - 溢出隐藏不起作用 - CSS - 样式化组件
- firebase - Firebase 实时数据库 Cron 作业
- javascript - 需要使用更新对象返回现有数据结构
- python - 一个 x 值的多个 y 值图的标签