Un servicio en ejecución se puede configurar para que se reinicie cuando una de sus dependencias se detenga o refresque. Si las dependencias de un servicio en ejecución (estado online o degraded) no se cumplen, el servicio pasa al estado offline. Si un servicio se reinicia después de que una dependencia se detiene o se refresca, es posible que las dependencias se cumplan nuevamente y que el servicio dependiente pase a un estado en ejecución.
Los siguientes factores determinan si un servicio se reinicia después de que una dependencia require_all, require_any o optional_all se detiene o se refresca:
Si la dependencia se detuvo o se refrescó. Si se detuvo, ya sea que la dependencia se haya detenido debido a un error como un error de hardware o un volcado de núcleo central, o por algún otro motivo como una acción administrativa.
El valor del atributo restart_on de la dependencia. Los valores posibles son none, error, restart y refresh.
Como se muestra en la siguiente tabla, si el valor del atributo restart_on de la dependencia es none, el servicio dependiente no se reinicia cuando la dependencia se detiene o refresca. Si el valor del atributo restart_on de la dependencia es refresh, el servicio dependiente siempre se reinicia cuando la dependencia se detiene o refresca. Si el valor de restart_on es error, el servicio dependiente sólo se reinicia si la dependencia se detuvo debido a un error. Si el valor de restart_on es restart, el servicio dependiente sólo se reinicia si se refrescó la dependencia.
|
Enumeración de instancias de las que depende un servicio muestra que el servicio system-repository tiene dos dependencias require_all y una dependencia optional_all. El siguiente comando muestra que el servicio system-repository se reiniciará si el servicio milestone/network o el servicio system/filesystem/autofs se detiene debido a un error, pero no si ellos se detienen o refrescan por cualquier otro motivo. El servicio system-repository no se reiniciará si el servicio system/filesystem/local se refrescó o se detuvo por cualquier otro motivo.
$ svccfg -s system-repository:default listprop -o propname,propval '*restart_on' network/restart_on astring error filesystem-local/restart_on astring none autofs/restart_on astring error