Redhatでは、systemdによって開始されたほとんどのサービスが共有オブジェクトとして実装されています。なぜですか?
たとえば、
file /usr/sbin/sshd
file /usr/sbin/squid
file /usr/sbin/crond
file /usr/sbin/rsyslogd
これらすべてのデーモンの出力はELF 64-bit LSB shared object, x86-64
。systemd
共有オブジェクト自体で実装した理由がわかります。カーネルがそれをロードすると、ユーザースペースに他の共有オブジェクト/実行ファイルはありません。systemd
したがって、おそらくlibc
。
しかし、上記のデーモンが実行可能ファイルではなく共有オブジェクトとして実装されているのはなぜですか?