Launchctl man sayfasını okuyordum ve işleyişi hakkında birkaç sorum var:
- Load ve start, unload ve stop arasındaki fark nedir?
- Bir daemon için iş etiketini nerede bulabilirim, plist dosyasında mı?
Launchctl man sayfasını okuyordum ve işleyişi hakkında birkaç sorum var:
Yanıtlar:
launchctl load -w
ve launchctl unload -w
.start
ve stop
genellikle bir işi test etmek veya hata ayıklamak için ayrılır.launchctl start <label>
: İşi başlatır. Bu genellikle sadece belirli bir işi test etmek veya hata ayıklamak için kullanılır.launchctl stop <label>
: İşi durdurur. Başlatmanın tersi ve iş çalışmaya devam edecek şekilde yapılandırılmışsa işin hemen yeniden başlaması mümkündür.launchctl remove <label>
: İşi launchd
zaman uyumsuz olarak kaldırır . İşin geri dönmeden önce gerçekten durmasını beklemeyecektir, bu nedenle bu konuda hata işleme.launchctl load <path>
: İş "devre dışı" olmadığı sürece işi yükler ve başlatır.launchctl unload <path>
: İşi durdurur ve kaldırır. İş, bir sonraki oturum açma / yeniden başlatma işleminde yeniden başlatılır.launchctl load -w <path>
: İşi "devre dışı değil" olarak işaretlerken işi yükler ve başlatır . İş, bir sonraki oturum açma / yeniden başlatma işleminde yeniden başlatılır.launchctl unload -w <path>
: İşi durdurur ve kaldırır ve devre dışı bırakır . İş , bir sonraki oturum açma / yeniden başlatma işleminde BAŞLATILMAZ .Bir daemon için iş etiketini nerede bulabilirim, plist dosyasında mı?
Evet, plist dosyasındadır ve genellikle plist dosyasının dosya adıyla eşleşir.
Yükleme ve boşaltma, launchd'a yapılandırma dosyasını yüklemesini söyler. Programı çalıştırıp çalıştırmadığı ve hangi koşullar altında plist dosyası tarafından belirlenir. Şu anda çalışmayan bir iş ile başlatılabilir launchctl start ...
ve durdurulabilir launchctl stop ...
.
İşin etiketi etiket anahtarı ile tanımlanır ve plist'in adı da iş etiketi ve ardından plist uzantısı olmalıdır.