No redhat, a maioria dos serviços iniciados pelo systemd são implementados como objetos compartilhados. Por que esse é o caso?
Por exemplo:
file /usr/sbin/sshd
file /usr/sbin/squid
file /usr/sbin/crond
file /usr/sbin/rsyslogd
A saída para todos esses daemons é ELF 64-bit LSB shared object, x86-64
. Eu posso entender porque systemd
em si é implementado como um objeto compartilhado. Quando o Kernel é carregado, não há outros objetos / executáveis compartilhados no espaço do usuário. Então é muito provável que systemd
esteja cheio de chamadas diretas ao sistema, em vez de passar por libc
.
No entanto, qual é a razão para os daemons listados acima serem implementados como objetos compartilhados em vez de executáveis?
Tags daemon