Apa opsi baris perintah systemd "--switched-root" dan "--deserialize"?

16

Melakukan pspada kotak Linux saya menunjukkan bahwa systemdberjalan dengan opsi baris perintah --switched-rootdan --deserialize. Tidak ada di halaman manual atau /usr/share/doc/systemdmenyebutkan mereka, dan Google tidak banyak membantu. Jadi, apa yang mereka lakukan? Saya menduga itu --switched-rootada hubungannya dengan pivot_root , tapi itu hanya dugaan.

Matthew Cline
sumber
1
Poin bagus, sama di sini di Arch: proses saya n. 1 adalah systemd --system --deserialize 18. Sekali lagi tidak ada petunjuk dari manusia.
MariusMatutiae

Jawaban:

18

Ini adalah bagian internal sengaja tidak terdokumentasi dari systemd. Sangat sederhana, oleh karena itu:

  • --deserializedigunakan untuk mengembalikan keadaan internal yang disimpan bahwa doa sebelumnya systemd, yang exec()ini, telah ditulis ke file. Argumen opsinya adalah deskriptor file terbuka untuk proses itu .
  • --switched-rootdigunakan untuk memberitahu doa ini systemdbahwa ia telah dipanggil dari systemdmengelola initramfs , dan karenanya harus berperilaku sesuai - termasuk mematikan beberapa perilaku yang disebabkan oleh --deserialize.
JdeBP
sumber
3
Itu jawaban yang bagus. Untuk sedikit memperluas ini: systemd berjalan dengan --deserialize --switched-root pada dasarnya berarti systemd juga digunakan dalam initramfs. Saat ini ini cukup umum, sehingga kedua opsi tersebut diharapkan pada baris perintah PID 1.
zbyszek