systemd命令行选项“ --switched-root”和“ --deserialize”是什么?


17

ps在我的Linux机器上执行一次操作,systemd将显示运行命令行选项--switched-root--deserialize。手册页中没有任何内容或/usr/share/doc/systemd提及它们,并且Google并没有太大帮助。那么,他们做什么呢?我猜想这--switched-rootpivot_root有关,但这只是一个猜测。


1
好点,在Arch上也一样:我的过程。1是systemd --system --deserialize18。同样,人类也没有任何线索。
MariusMatutiae

Answers:


18

这些是有意未记录的systemd内部部件。因此,非常简单:

  • --deserialize用于恢复以前调用保存的内部状态systemdexec()荷兰国际集团这一块,已经写了一个文件。它的option参数是该进程的打开文件描述符。
  • --switched-root用来告诉此调用systemd它是通过systemd管理initramfs调用,因此应相应地执行操作-包括关闭某些由引起的行为--deserialize

3
这是一个很好的答案。为了进一步说明这一点:systemd运行--deserialize --switched-root,实际上意味着initramfs中也使用了systemd。现今,这是很常见的,所以这两个选项都可以在PID 1的命令行预期
zbyszek

@zbyszek那么,这有什么意义呢?如果这是一个好答案,为什么那些公开曝光的内部零件systemd仍然没有纳入官方systemd文档?您的解释不应该包含在官方systemd文档中以向我们解释我们所看到的(systemd-cgls | grep deserialize)吗?已经是2020年了!Google和SO真的是唯一systemd可以向像我们这样的未成年人解释如此公开展示的内部部分的地方吗?
蒂诺
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.