首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么pstree命令在Ubuntu16.04LTS中不显示init?

为什么pstree命令在Ubuntu16.04LTS中不显示init?
EN

Ask Ubuntu用户
提问于 2016-11-01 02:25:49
回答 1查看 2.5K关注 0票数 4

我试图检查pstree命令的输出。但出于某种原因,它总是从名为systemd的东西开始,而不是init。我使用ps aux命令检查init和systemd的进程ID,init的PID值为1,而systemd的进程ID为其他PID。那么,为什么我的作品中没有显示init呢?我有什么选择吗?

我也读过关于systemd与init的争论,但是ubuntu16.04LTS仍然使用init来启动一切,对吗?

更新为什么不同的PID?

原来我认为不同的PID是我无知的一部分。init有一个PID 1,而systemd不是我所说的东西。相反,当我运行ps aux|grep systemd时,我为/lib/systemd/systemd-*找到了PID,其中*意味着一些额外的字符。因此,我所说的不是systemd,而是其他一些扩展过程(这是正确的词吗?)我猜是系统的。

*的一些示例如下所示

代码语言:javascript
复制
/lib/systemd/systemd-journald
/lib/systemd/systemd-udevd
/lib/systemd/systemd-timesyncd
EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2016-11-01 03:43:31

自15.04以来,在Ubuntu上的init是systemd。可以使用Upstart,但是默认的是systemd。例如,/sbin/init将是指向/lib/systemd/systemd的链接。/sbin/{shutdown,reboot,telinit,halt,runlevel,poweroff}是指向/sbin/systemctl的链接。即使在16.04中,Upstart也被用作会话init,因此您可能会在图形登录中将Upstart视为父进程或祖先进程(通过它似乎在16.10发生了变化)。

您看到的其他进程是systemd组件;它们是与systemd一起开发和分发的,但许多进程对于作为init运行systemd并不重要。许多组件可以替换或禁用。引用系统首页的话:

systemd是Linux系统的一套基本构建块。它提供了一个系统和服务管理器,它以PID 1的形式运行,并启动系统的其余部分。..。其他部分包括日志守护进程、控制基本系统配置的实用程序(如主机名、日期、区域设置)、维护登录用户和正在运行的容器和虚拟机的列表、系统帐户、运行时目录和设置,以及管理简单网络配置的守护进程、网络时间同步、日志转发和名称解析。

这篇博客文章来自systemd的创建者之一(Lennart Poettering):

  1. 误解: systemd不允许您替换它的组件。不正确,您可以关闭和替换系统的任何部分,很少有例外。而这些异常(如日志)通常允许您在与它进行良好合作的同时,并行运行另一个选项。
票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/844031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档