gerente de serviço (), que é desenvolvido pelos desenvolvedores da distribuição GNU Guix System como uma dependência de suporte alternativa ao sistema de inicialização SysV-init. O daemon controlador e as utilidades do Shepherd são escritos na linguagem Guile (uma das implementações da linguagem Scheme), que também é usada para definir configurações e parâmetros de inicialização dos serviços. O Shepherd já está sendo utilizado na distribuição GuixSD GNU/Linux e também tem como alvo o uso no GNU/Hurd, mas pode operar em qualquer sistema operacional compatível com POSIX, para o qual a linguagem Guile esteja disponível.
O Shepherd pode ser usado tanto como o sistema de inicialização principal (init c PID 1), quanto de forma isolada para gerenciar processos em segundo plano de usuários individuais (por exemplo, para iniciar tor, privoxy, mcron, etc.), executando com os privilégios desses usuários. O Shepherd realiza o trabalho de iniciar e parar serviços, levando em consideração as interdependências entre os serviços, determinando e iniciando dinamicamente os serviços dos quais um serviço selecionado depende. O Shepherd também suporta a definição de conflitos entre serviços e evita sua execução simultânea.
Principais novidades:
- Implementado um novo manipulador de falhas de processos, permitindo que ao trabalhar sob PID 1, sejam gerados core dumps no GNU/Linux;
- O gerenciador de serviços agora possui a capacidade de exportar variáveis de ambiente definidas na configuração "default-environment-variables";
- Na "make-forkexec-constructor", a exclusão de arquivos de log foi descontinuada;
- A reinicialização ao pressionar ctrl-alt-del agora é proibida antes do processamento do arquivo de configuração;
- O código de manipulação de exceções foi adaptado para .
Fonte: opennet.ru
