gerente de servicio (), que es desarrollado por los programadores de la distribución GuixSD GNU/Linux como una dependencia de soporte alternativa al sistema de inicialización SysV-init. El demonio gestor y las utilidades Shepherd están escritas en el lenguaje Guile (una de las implementaciones del lenguaje Scheme), que también se utiliza para definir la configuración y los parámetros de inicio de los servicios. Shepherd ya se utiliza en la distribución GuixSD GNU/Linux y también está destinado a su uso en GNU/Hurd, pero puede funcionar en cualquier sistema operativo compatible con POSIX, para el cual está disponible el lenguaje Guile.
Shepherd puede utilizarse tanto como el sistema de inicialización principal (init con PID 1), como de forma aislada para gestionar procesos en segundo plano de usuarios individuales (por ejemplo, para iniciar tor, privoxy, mcron, etc.) ejecutándose con los derechos de esos usuarios. Shepherd se encarga de iniciar y detener servicios, teniendo en cuenta las interrelaciones entre ellos, identificando y iniciando dinámicamente los servicios de los cuales depende el servicio seleccionado. Shepherd también soporta la definición de conflictos entre servicios y previene su ejecución simultánea.
Novedades principales:
- Se ha añadido un modo de operación de servicios ,
donde el servicio se marca como detenido inmediatamente después de un inicio exitoso, lo que puede ser necesario para ejecutar trabajos únicos antes de otros servicios, como para realizar limpieza o inicialización; - Se ha asegurado la eliminación de archivos con sockets después de la finalización del trabajo
shepherd; - El comando ‘herd stop’ ahora no genera error al ejecutarse sobre un servicio ya detenido;
- La utilidad herd ahora devuelve un código de salida no cero en caso de falla al iniciar una tarea;
- En caso de ejecución en un contenedor, se ha asegurado la ignorancia de errores relacionados con el arranque.
Fuente: opennet.ru
