我试图检查pstree命令的输出。但出于某种原因,它总是从名为systemd的东西开始,而不是init。我使用ps aux命令检查init和systemd的进程ID,init的PID值为1,而systemd的进程ID为其他PID。那么,为什么我的作品中没有显示init呢?我有什么选择吗?
我也读过关于systemd与init的争论,但是ubuntu16.04LTS仍然使用init来启动一切,对吗?
原来我认为不同的PID是我无知的一部分。init有一个PID 1,而systemd不是我所说的东西。相反,当我运行ps aux|grep systemd时,我为/lib/systemd/systemd-*找到了PID,其中*意味着一些额外的字符。因此,我所说的不是systemd,而是其他一些扩展过程(这是正确的词吗?)我猜是系统的。
该*的一些示例如下所示
/lib/systemd/systemd-journald
/lib/systemd/systemd-udevd
/lib/systemd/systemd-timesyncd发布于 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):
https://askubuntu.com/questions/844031
复制相似问题