如何创建子进程来初始化?(PPID 为 1 的进程)

如何创建子进程来初始化?(PPID 为 1 的进程)

我目前正在探索 Linux 系统上的进程管理,遇到了一个有趣的问题:如何创建一个直接链接到 init 进程的子进程,该子进程的 PPID(父进程 ID)通常为 1?

答案1

有几种方法可以为 Init 系统创建子进程 - 在 Ubuntu 上systemd,它的 PID 为 1(Lennart Poettering 的博客名为皮德·艾因斯)。

基本上,您启动的所有守护进程都将是的子进程/sbin/init,因此具有 PPID 1。这适用于:

  • systemctl守护进程以或启动(在我的系统上,是,等等snap的情况)dockersmbd
  • 守护进程从cron启动@reboot(在我的系统上,情况就是这样sshfs
  • 守护进程在登录时启动.bashrc(在我的系统上,情况就是这样tmux

此外,孤立进程将被 init 系统“接管”,并且也具有 PPID 1。

htop这在树视图中非常明显:

在此处输入图片描述

相关内容