gsagagsa Asked: 2024-04-11 16:13:37 +0800 CST2024-04-11 16:13:37 +0800 CST 2024-04-11 16:13:37 +0800 CST 如何创建子进程来init?(使用 PPID 1 的进程) 772 我目前正在探索 Linux 系统上的进程管理,并遇到一个有趣的问题:如何创建一个直接链接到 init 进程的子进程,该进程的 PPID(父进程 ID)通常为 1? process 1 个回答 Voted Best Answer Artur Meinild 2024-04-11T16:47:41+08:002024-04-11T16:47:41+08:00 有多种方法可以为 Init 系统创建子进程 - 在 Ubuntu 上systemd为 PID 1(Lennart Poettering 的博客称为Pid Eins)。 基本上,您启动的所有守护进程都将是 的子进程/sbin/init,因此具有 PPID 1。这适用于: systemctl守护进程以or启动(在我的系统上,是 等的snap情况)dockersmbd 守护进程从cronon开始@reboot(在我的系统上,情况是这样sshfs) 守护进程从登录时启动.bashrc(在我的系统上,就是这种情况tmux) 此外,孤立进程将被init系统“接管”,并且也将具有PPID 1。 htop这在树视图中非常明显:
有多种方法可以为 Init 系统创建子进程 - 在 Ubuntu 上
systemd
为 PID 1(Lennart Poettering 的博客称为Pid Eins)。基本上,您启动的所有守护进程都将是 的子进程
/sbin/init
,因此具有 PPID 1。这适用于:systemctl
守护进程以or启动(在我的系统上,是 等的snap
情况)docker
smbd
cron
on开始@reboot
(在我的系统上,情况是这样sshfs
).bashrc
(在我的系统上,就是这种情况tmux
)此外,孤立进程将被init系统“接管”,并且也将具有PPID 1。
htop
这在树视图中非常明显: