Varsayılan önceliğin altında çalışan launchd ile bir daemon oluşturmak için en iyi uygulama nedir


5

Bir kullanıcının makinesindeki çekirdek sayısına paralel hale getirmek istediğim bir arka planım var, ancak bunun ön plan görevlerine müdahale etmesini istemiyorum. Geleneksel olarak, unix'de, bu cini sadece nice = 1'de çalıştırırdım, örn.

nohup nice -n 1 MyDaemon &

Apple piyasaya sürülen plist dokümantasyon öncelikli konulara değinen birkaç maddeye sahiptir, ancak özellikle belirsiz olarak tanımlanırlar,

ProcessType=Background
LowPriorityIO=true
Nice=N

ProcessType = Background öğesinin tam davranışının tanımlandığı bir yer var mı? Nice ve LowPriorityIO ayarını yapmaktan ziyade "akıllı" olabilir.

Yanıtlar:


2

Şundan özetlendi man launchd.plist:

LowPriorityBackgroundIO : İşlem Darwin-arkaplan sınıflandırması ile boğulduğunda dosya sisteminin giriş / çıkışını yaparken çekirdeğin bu arka plan programı düşük öncelikli olarak kabul edip etmeyeceğini belirler.

İşlem Türü : Bu isteğe bağlı anahtar, işin amaçlanan amacını yüksek düzeyde açıklar. Sistem, ne tür bir iş olduğuna bağlı olarak kaynak sınırlarını uygulayacaktır. Eğer belirtilmemişse, sistem iş için ışık kaynağı sınırlarını uygular, CPU kullanımını ve G / Ç bant genişliğini azaltır.

ProcessType = Arka Plan : Arka plan işleri genellikle doğrudan kullanıcı tarafından talep edilmeyen işleri yapan işlemlerdir. Arka Plan'a uygulanan kaynak sınırları, kullanıcıların kullanıcı deneyimini aksatmaması için tasarlanmıştır.


Bu tanımlara aşinayım - bu benim soruma atıfta bulunduğum "belgeler" (daha spesifik olmalıydım). Bu tanımlar oldukça belirsizdir; sorum kalıyor - ProcessType, IO öncelik bayrakları ve Nice etkileşimi nasıl?
Steve Broberg

Lansman arka planında bir Debug çalıştırmayı ve süreci izlemeyi denediniz mi? Onlarla hiçbir Bağımlılık olmadığından, bilgime ilk önce kimin girdiğini ayarlayabileceğine inanmıyorum.
tron_jones
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.