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

5

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

nohup nice -n 1 MyDaemon &

La documentación de Apple launchd plist presenta varios elementos que se refieren a problemas de prioridad, pero están definidos de manera vaga, específicamente,

ProcessType=Background
LowPriorityIO=true
Nice=N

¿Hay algún lugar donde se defina el comportamiento exacto de ProcessType = Background? Parece que puede ser "más inteligente" que simplemente configurar Niza y Baja Prioridad.

    
pregunta Steve Broberg 10.10.2014 - 15:05

1 respuesta

2

Resumido de man launchd.plist :

LowPriorityBackgroundIO : especifica si el núcleo debe considerar que este daemon es de baja prioridad al realizar la E / S del sistema de archivos cuando el proceso se limita con la clasificación de fondo de Darwin.

ProcessType : esta clave opcional describe, a un alto nivel, el propósito previsto del trabajo. El sistema aplicará límites de recursos según el tipo de trabajo que sea. Si no se especifica, el sistema aplicará límites de recursos ligeros al trabajo, limitando el uso de la CPU y el ancho de banda de E / S.

ProcessType = Background : los trabajos en segundo plano son generalmente procesos que realizan trabajos que no fueron solicitados directamente por el usuario. Los límites de recursos aplicados al Fondo tienen como objetivo evitar que interrumpan la experiencia del usuario.

    
respondido por el tron_jones 10.10.2014 - 15:42

Lea otras preguntas en las etiquetas