6 votos

¿Cuál es la mejor práctica para crear un demonio con launchd que se ejecute con una prioridad inferior a la predeterminada?

Tengo un demonio que me gustaría tener para paralelizar hasta el número de núcleos en la máquina de un usuario, pero no quiero que interfiera con las tareas en primer plano. Tradicionalmente, en unix, simplemente ejecutaría este demonio en nice=1, por ejemplo

nohup nice -n 1 MyDaemon &

La documentación plist de Apple launchd incluye varios elementos que hablan de problemas prioritarios, pero están vagamente definidos, en concreto,

ProcessType=Background
LowPriorityIO=true
Nice=N

¿Hay algún lugar donde se defina el comportamiento exacto de ProcessType=Background? Parecería que puede ser "más inteligente" que simplemente establecer Nice y LowPriorityIO.

3voto

sunny256 Puntos 3262

Resumido de man launchd.plist :

LowPriorityBackgroundIO : Especifica si el kernel debe considerar este demonio como de baja prioridad al realizar E/S del sistema de archivos cuando el proceso se ralentiza con la clasificación Darwin-background.

Tipo de proceso : Esta clave opcional describe, a alto nivel, la finalidad prevista del puesto. El sistema aplicará límites de recursos en función del tipo de trabajo que sea. Si no se especifica, el sistema aplicará límites de recursos ligeros al trabajo, limitando el uso de CPU y el ancho de banda de E/S.

ProcessType=Fondo : Los trabajos en segundo plano son generalmente procesos que realizan trabajos que no han sido solicitados directamente por el usuario. Los límites de recursos aplicados a los Background tienen por objeto evitar que perturben la experiencia del usuario.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X