Sinopsis (Synopsis)
launchctl alt_komut [argümanlar ...]
Açıklama (Description)
launchctl; daemon'ları (arka plan programları), ajanları (agent) ve XPC servislerini yönetmek ve incelemek amacıyla launchd ile etkileşim kurar.
Alt Komutlar (Subcommands)
launchctl, launchd'nin veri yapılarının ayrıntılı bir şekilde incelenmesine olanak tanır. Temel yapılar alanlar (domains), servisler (services) ve uç noktalardır (endpoints). Bir alan, bir servis koleksiyonunun yürütme politikasını yönetir. Bir servis, talebe yanıt olarak her an başlatılmaya hazır sanal bir süreç olarak düşünülebilir. Her servisin bir uç nokta koleksiyonu vardır ve bu uç noktalardan birine bir mesaj gönderilmesi, servisin talep üzerine başlatılmasına neden olur. Alanlar bu uç noktaları ortak bir isim alanında (namespace) duyurur ve Mach bootstrap alt kümeleri ile eş anlamlı olarak düşünülebilir.
launchctl içindeki birçok alt komut, alt komut için hedef alanı veya servisi gösteren bir belirteç alır. Bu belirteç aşağıdaki biçimlerden birini alabilir:
system/[servis-adı] Sistem alanını veya sistem alanı içindeki bir servisi hedef alır. Sistem alanı, kök Mach bootstrap yapısını yönetir ve ayrıcalıklı bir yürütme bağlamı olarak kabul edilir. Herkes sistem alanını okuyabilir veya sorgulayabilir, ancak değişiklik yapmak için root ayrıcalıkları gerekir.
user/
login/
gui/
Not: GUI alanları ve kullanıcı alanları birçok kaynağı paylaşır. Mach bootstrap isim aramaları açısından bu alanlar "düzdür", yani aynı kayıtlı isim kümesini paylaşırlar. Ancak yine de ayrı servis kümelerine sahiptirler. Bu nedenle, kullanıcı alanının içeriğini yazdırırken, o kullanıcının GUI alanında bulunan servislerden gelen birçok Mach bootstrap isim kaydını görebilirsiniz, ancak bu listede servislerin kendilerini göremezsiniz.
pid/
Örneğin, UID'si 501 olan bir kullanıcının GUI alanına yüklenmiş com.apple.example tanımlayıcısına sahip bir servise atıfta bulunurken, domain-target gui/501/, service-name com.apple.example ve service-target gui/501/com.apple.example şeklindedir.
Alt Komutlar (Subcommands)
bootstrap | bootout domain-target [servis-yolu servis-yolu2 ...] | service-target Alanları ve servisleri başlatır (bootstraps) veya kaldırır. Servis argümanları mevcut olduğunda, bunların tanımlarını alana başlatır ve buna karşılık gelen şekilde kaldırır. Servisler bir dizi yol veya bir servis tanımlayıcısı olarak belirtilebilir. Yollar, XPC servis paketlerini, launchd.plist(5) dosyalarını veya bunlardan herhangi birinin koleksiyonunu içeren dizinleri gösterebilir. Bir servis koleksiyonu başlatılırken veya kaldırılırken bir veya daha fazla hata oluştuysa, sorunlu yollar meydana gelen hatalarla birlikte yazdırılacaktır.
Hiçbir yol veya servis hedefi belirtilmediğinde, bu komutlar bir alan hedefi olarak belirtilen bir alanı başlatabilir veya kaldırabilir. Bazı alanlar, oluşturulmalarının bir parçası olarak önceden tanımlanmış yolları önemsiz bir şekilde başlatacaktır.
enable | disable service-target İstenen alanda servisi etkinleştirir veya devre dışı bırakır. Bir servis devre dışı bırakıldıktan sonra, yeniden etkinleştirilene kadar belirtilen alanda yüklenemez. Bu durum, cihazın yeniden başlatılmasında da kalıcıdır. Bu alt komut yalnızca sistem alanı veya kullanıcı ve kullanıcı giriş alanlarındaki servisleri hedef alabilir.
kickstart [-kp] service-target Yapılandırılmış başlatma koşullarına bakılmaksızın launchd'ye belirtilen servisi hemen çalıştırma talimatı verir.
-k: Servis zaten çalışıyorsa, servisi yeniden başlatmadan önce çalışan örneği sonlandırır (kill).-p: Başarılı olunduğunda, yeni sürecin veya zaten çalışan sürecin PID'sini standart çıktıya (stdout) yazdırır.
attach [-ksx] service-target Sistemin hata ayıklayıcısını (debugger) belirtilen servisi destekleyen mevcut sürece bağlar. Varsayılan olarak, servis çalışmıyorsa, bu alt komut servis başlayana kadar engellenir (block).
-k: Servis zaten çalışıyorsa, çalışan örneği sonlandırır (kill).-s: Servisi başlamaya zorlar.-x: xpcproxy(3) exec yapmadan ve servis süreci haline gelmeden önce ona bağlanır. Bu bayrak genellikle launchd geliştiricisi dışındaki hiç kimse için kullanışlı değildir.
debug service-target [--program
--program
--guard-malloc Servis için libgmalloc(3)'ü etkinleştirir.
--malloc-stack-logging Servis için malloc(3) yığın günlüğe kaydetmeyi (stack logging) etkinleştirir.
--malloc-nano-allocator Servis için malloc(3) nano bellek ayırıcısını (nano allocator) etkinleştirir.
--debug-libraries Servis için DYLD_IMAGE_SUFFIX değerini "_debug" olarak ayarlar, bu da varsa kütüphanelerin hata ayıklama varyantlarını tercih eder. Daha fazla bilgi için dyld(1) sayfasına bakın.
--introspection-libraries Servis için DYLD_LIBRARY_PATH ortam değişkenine /usr/lib/system/introspection yolunu ekler. Bu, sistemin varsa kütüphanelerin iç gözlem (introspection) varyantlarını tercih etmesine neden olur.
--NSZombie NSZombie'yi etkinleştirir.
--32: Servisi uygun 32-bit mimaride çalıştırır. Yalnızca 64-bit platformlarda kullanılabilir.
--stdin [stdin-yolu] Servisin standart girişini stdin-yolu olarak ayarlar. Herhangi bir dosya verilmezse, servisin standart girişi olarak mevcut terminali kullanır. Eğer stdin-yolu mevcut değilse oluşturulur.
--stdout [stdout-yolu] Servisin standart çıktısını stdout-yolu olarak ayarlar. Herhangi bir dosya verilmezse, servisin standart çıktısı olarak mevcut terminali kullanır. Eğer stdout-yolu mevcut değilse oluşturulur.
--stderr [stderr-yolu] Servisin standart hata çıktısını stderr-yolu olarak ayarlar. Herhangi bir dosya verilmezse, servisin standart hatası olarak mevcut terminali kullanır. Eğer stderr-yolu mevcut değilse oluşturulur.
--environment DEĞİŞKEN0=değer DEĞİŞKEN1=değer ... Servis üzerinde belirtilen ortam değişkenlerini ayarlar.
-- argv0 argv1 ... -- işaretini takip eden tüm argümanlar, servise argüman vektörü olarak verilir.
ÖNEMLİ: Bu argümanlar, servisin varsayılan argüman vektörünün yerini alır; hiçbir şekilde birleştirilmezler. -- işaretini takip eden ilk argüman, servisin argüman vektörünün ilk (sıfırıncı) öğesi olarak verilir. ProgramArguments launchd.plist(5) anahtarında olduğu gibi, execve(2) kılavuz sayfasını dikkatlice okumalı ve anlamalısınız.
kill sinyal-adı | sinyal-numarası service-target Belirtilen servis çalışıyorsa, ona belirtilen sinyali gönderir. Sinyal numarası veya adı (SIGTERM, SIGKILL, vb.) belirtilebilir.
blame service-target Servis çalışıyorsa, launchd'nin servisi neden başlattığını açıklayan insan tarafından okunabilir bir dize yazdırır. Servislerin birçok nedenden dolayı çalışabileceğini unutmayın; bu alt komut yalnızca en yakın nedeni gösterecektir. Dolayısıyla, bir servis bir zamanlayıcının tetiklenmesi nedeniyle çalıştırıldıysa, servisin çeşitli uç noktalarında bekleyen mesajlar olup olmadığına bakılmaksızın bu alt komut o nedeni yazdıracaktır. Bu alt komut yalnızca hata ayıklama ve profil oluşturma amaçlıdır ve çıktısına üretim senaryolarında güvenilmemelidir.
print domain-target | service-target Belirtilen servis veya alan hakkında bilgi yazdırır. Alan çıktısı, alanla ilgili çeşitli özelliklerin yanı sıra alandaki servislerin ve uç noktaların bir listesini ve her birine ait durum bilgilerini içerir. Servis çıktısı, servisin disk üzerindeki kökeni, mevcut durumu, yürütme bağlamı ve son çıkış durumu hakkındaki bilgiler dahil olmak üzere servisin çeşitli özelliklerini içerir.
ÖNEMLİ: Bu çıktı hiçbir şekilde bir API değildir. HERHANGİ BİR nedenle yayılan yapıya veya bilgilere güvenmeyin. Sürümler arasında uyarı yapılmaksızın değişebilir.
print-cache launchd servis önbelleğinin içeriğini yazdırır.
print-disabled domain-target Belirtilen alandaki devre dışı bırakılmış servislerin listesini yazdırır.
plist [segment,section] Mach-O Hedef Mach-O'nun veya belirtilen segment/kesitin __TEXT,__info_plist segment/kesitinde gömülü olan özellik listesini (property list) yazdırır.
procinfo pid Belirtilen PID'nin yürütme bağlamı hakkında bilgi yazdırır. Bu bilgi, Mach task-special portlarını ve exception portlarını (ve bir DEVELOPMENT launchd sürümüne karşı çalıştırıldığında, launchd tarafından biliniyorlarsa portların Mach bootstrap isim alanında hangi isimlerle duyurulduğunu) ve denetim oturumu bağlamını içerir. Bu alt komut yalnızca teşhis amaçlıdır ve çıktısına üretim senaryolarında güvenilmemelidir. Bu komut root ayrıcalıkları gerektirir.
hostinfo Sistemin host-special portları (host-exception portu dahil) hakkında bilgi yazdırır. Bu alt komut root ayrıcalıkları gerektirir.
resolveport owner-pid port-name Bir PID ve o sürecin port isim alanındaki bir Mach port hakkı adı verildiğinde, bu portu launchd tarafından bilinen bir uç nokta adına çözer. Bu alt komut root ayrıcalıkları gerektirir.
examine [tool arg0 arg1 @PID ...] launchd'nin profil oluşturma aracı tarafından incelenmek üzere kendisini fork(2) etmesine neden olur ve bu yeni örneğin PID'sini stdout'a yazdırır. Bu anlık görüntüyü (snapshot) artık ihtiyaç duyulmadığında sonlandırmaktan siz sorumlusunuz.
Birmilyon profil oluşturma aracı, sağladığı işlevselliğe bağımlı oldukları için launchd'yi güvenli bir şekilde inceleyemez. Bu alt komut, bağımsız olarak incelenebilecek etkili bir launchd anlık görüntüsü oluşturur. Darwin platformlarında fork(2) işlevinin, yalnızca fork(2) çağrısını yapan iş parçacığının yeni çocuk sürece kopyalanacağı şekilde uygulandığını unutmayın; dolayısıyla bu alt komut, ana olay döngüsü dışındaki herhangi bir iş parçacığının incelenmesi için kullanışlı değildir.
Bu alt komut, launchd anlık görüntüsü üzerinde kullanılacak bir aracın isteğe bağlı bir çağrısını alır. Aracın çağrısında normalde incelenecek sürecin PID'sini vereceğiniz yere "@PID" argümanını belirtin; launchctl, aracın müteakip yürütülmesinde bu argümanı launchd anlık görüntüsünün PID'si ile değiştirecektir. Bu biçimde kullanılırsa, launchctl inceleme aracı kapandığında anlık görüntü örneğini otomatik olarak sonlandıracaktır.
Bu alt komut yalnızca bir DEVELOPMENT launchd sürümüne karşı kullanılabilir.
config system | user parametre değer launchd(8) alanları için kalıcı yapılandırma bilgilerini ayarlar. Yalnızca sistem alanı ve kullanıcı alanları yapılandırılabilir. Kalıcı depolama biriminin konumu bir uygulama detayıdır ve bu depolama birimindeki değişiklikler yalnızca bu alt komut aracılığıyla yapılmalıdır. Yapılan değişikliklerin geçerli olması için sistemin yeniden başlatılması gerekir.
Desteklenen yapılandırma parametreleri şunlardır:
umask Hedef alan içindeki servisler için umask(2) değerini değer ile belirtilen değere ayarlar. Bu değerin strtoul(3) tarafından sekizlik tabanda kodlanmış bir sayı olarak ayrıştırıldığını unutmayın, bu nedenle başına '0' koymaya gerek yoktur.
path Hedef alan içindeki tüm servisler için PATH ortam değişkenini dize değerine ayarlar. Dize değeri, environ(7) içinde PATH ortam değişkeni için belirtilen biçime uygun olmalıdır. Bir servisin kendi PATH değerini belirtmesi durumunda, servise özgü ortam değişkeninin öncelikli olacağını unutmayın.
NOT: Bu özellik, alandaki tüm servisler için genel ortam değişkenlerini ayarlamak amacıyla kullanılamaz. Güvenlik nedenleriyle kasıtlı olarak yalnızca PATH ortam değişkeni ile sınırlandırılmıştır.
reboot [system|userspace|halt|logout|apps] launchd'ye kullanıcı alanını (userspace) sonlandırmaya başlaması talimatını verir. Hiçbir argüman verilmediğinde veya system argümanı verildiğinde, launchd, kullanıcı alanı tamamen sonlandırıldığında reboot(2) sistem çağrısını yapacaktır. halt argümanı verildiğinde, launchd, kullanıcı alanı tamamen sonlandırıldığında reboot(2) sistem çağrısını yapacak ve RB_HALT bayrağını ileterek sistemi durduracak (halt) ve yeniden başlatma işlemi başlatmayacaktır.
userspace argümanı verildiğinde, launchd, kullanıcı alanı sonlandırıldığında kendisini yeniden yürütecek (re-exec) ve kullanıcı alanını tekrar ayağa kaldıracaktır. Bu, çekirdek veri yapılarının veya donanımın yeniden başlatılmasının gerekmediği durumlarda sistemi hızlı bir şekilde yeniden başlatmak için kullanışlıdır.
logout argümanı verildiğinde, launchd, Apple menüsünden başlatılan bir oturum kapatma işlemine benzer şekilde çağıranın GUI oturumunu kapatacaktır. Temel fark, bu alt komut aracılığıyla başlatılan bir oturum kapatma işleminin çok daha hızlı olmasıdır; çünkü uygulamalara oturumu kapatmayı süresiz olarak engelleyecek kalıcı iletişim kutuları (modal dialogs) gösterme şansı vermez; dolayısıyla bu seçeneği kullanırken veri kaybı riski vardır. Bunu yalnızca çalışan uygulamalarınızda kaydedilmemiş veri olmadığını bildiğiniz zaman kullanın.
apps argümanı verildiğinde, launchd, çağıranın GUI oturumunda çalışan ve disk üzerindeki bir launchd.plist(5) dosyasından gelmeyen tüm uygulamaları sonlandıracaktır. Finder, Dock ve SystemUIServer gibi uygulamalar etkilenmeyecektir. Uygulamalar logout argümanıyla aynı şekilde sonlandırılır ve aynı uyarılar geçerlidir.
error [posix|mach|bootstrap] kod Verilen hata kodunun insan tarafından okunabilir bir dizesini yazdırır. Varsayılan olarak launchctl, verilen kodun hangi hata alanına ait olduğunu tahmin etmeye çalışacaktır. Çağıran, verilen kodun o alt sistemden gelen bir hata olarak yorumlanması için isteğe bağlı olarak hangi alanı (posix, mach veya bootstrap) belirtebilir.
variant Sistemde şu anda etkin olan launchd varyantını yazdırır. Olası varyantlar RELEASE, DEVELOPMENT ve DEBUG'dır.
version launchd sürüm dizesini yazdırır.
Eski Alt Komutlar (Legacy Subcommands)
Eski alt komutlar, hedef alanı root olarak çalıştırılıp çalıştırılmadıklerine göre seçerler. Root olarak çalıştırıldıklarında sistem alanını hedef alırlar.
load | unload [-wF] [-S sessiontype] [-D searchpath] yollar ... Önerilen alternatif alt komutlar: bootstrap | bootout | enable | disable
Belirtilen yapılandırma dosyalarını veya yapılandırma dosyalarının dizinlerini yükler. Talebe bağlı olmayan (non-on-demand) işler mümkün olan en kısa sürede başlatılacaktır. Belirtilen tüm işler, herhangi birinin başlatılmasına izin verilmeden önce yüklenecektir. Kullanıcı başına yapılandırma dosyalarının (LaunchAgents) root'a ait olması (eğer /Library/LaunchAgents dizininde bulunuyorlarsa) veya bunları yükleyen kullanıcıya ait olması ($HOME/Library/LaunchAgents dizininde bulunuyorlarsa) gerektiğini unutmayın. Sistem genelindeki tüm daemon'ların (LaunchDaemons) root'a ait olması gerekir. Yapılandırma dosyaları, grup ve diğer kullanıcılar tarafından yazmaya izin vermemelidir (disallow group and world writes). Bir launchd yapılandırma dosyasına yazma erişimine izin verilmesi, hangi yürütülebilir dosyanın başlatılacağının belirlenmesine olanak tanıdığı için bu kısıtlamalar güvenlik nedenleriyle yürürlüktedir.
/System/Library/LaunchDaemons dizinine root olmayan yazma erişimine izin vermenin sisteminizi önyüklenemez (unbootable) hale getireceğini unutmayın.
-w: Disabled anahtarını geçersiz kılar ve load ve unload alt komutları için sırasıyla false veya true olarak ayarlar. Önceki sürümlerde, bu seçenek yapılandırma dosyasını değiştirirdi. Artık Disabled anahtarının durumu, disk üzerinde başka bir konumda, launchd dışındaki hiçbir süreç tarafından doğrudan manipüle edilemeyecek bir yerde saklanır.-F: plist dosyasının yüklenmesini veya kaldırılmasını zorlar. Disabled anahtarını yoksayar.
-S sessiontype Bazı işler yalnızca belirli bağlamlarda anlamlıdır. Bu bayrak, launchctl'ye -D bayrağı kullanıldığında işleri farklı bir konumda araması talimatını verir ve launchctl'nin hangi işlerin hangi oturum türlerine yükleneceğini kısıtlamasına olanak tanır. Oturumlar yalnızca kullanıcı başına launchd bağlamları için geçerlidir. İlgili oturumlar Aqua (varsayılan), Background ve LoginWindow'dur. Background ajanları, bir GUI girişinden bağımsız olarak yüklenebilir. Aqua ajanları yalnızca bir kullanıcı GUI'de oturum açtığında yüklenir. LoginWindow ajanları, LoginWindow arayüzü görüntülenirken yüklenir ve şu anda root olarak çalışır.
-D searchpath Belirtilen arama yolundaki tüm plist(5) dosyalarını yükler veya kaldırır. Bu seçeneğin, verilen arama yoluna bağlı olarak birçok bireysel yola genişlediği düşünülebilir. Geçerli arama yolları "system," "local" ve "all" dur. Bir oturum türü sağlandığında, "user" adında ek bir arama yolu kullanılabilir. Örneğin, bir oturum türü verilmediğinde, "-D system" /System/Library/LaunchDaemons konumundaki tüm özellik listesi dosyalarını yükler veya kaldırır. Bir oturum türü iletildiğinde ise /System/Library/LaunchAgents konumundan yükleme yapar. launchctl'nin artık ağ arama yolunu dikkate almadığını unutmayın.
launchd'nin önceki bir sürümünde bu arama yollarına "domains" deniyordu, bu nedenle -D kullanılmıştır. "domain" (alan) kelimesi artık tamamen farklı bir kavram için kullanılmaktadır.
NOT: Önceki uygulamadaki hatalar ve bu hatalarla ilgili uzun süredir devam eden istemci beklentileri nedeniyle, load ve unload alt komutları yalnızca hatalı kullanım durumunda sıfır olmayan bir çıkış kodu döndürür. Aksi takdirde, her zaman sıfır döndürülür.
submit -l etiket [-p yürütülebilir-dosya] [-o stdout-yolu] [-e stderr-yolu] -- komut [arg0] [arg1] [...] Bir programı yapılandırma dosyası olmadan çalıştırmak üzere göndermenin basit bir yoludur. Bu mekanizma aynı zamanda launchd'ye hata durumunda programı hayatta tutmasını söyler.
-l etiket Bu işe launchd üzerinde hangi benzersiz etiketin atanacağı.
-p program submit alt komutunda -- işaretinden sonra ne geldiğine bakılmaksızın gerçekte hangi programın yürütüleceği.
-o stdout-yolu Programın stdout çıktısının nereye gönderileceği.
-e stderr-yolu Programın stderr çıktısının nereye gönderileceği.
remove etiket İşi launchd'den etiketine göre kaldırır. Bu alt komut hemen dönecek ve iş durdurulana kadar engelleme yapmayacaktır.
start etiket Belirtilen işi etiketine göre başlatır. Bu alt komutun beklenen kullanımı, talep üzerine çalışan bir sunucuyu manuel olarak tetiklemek (kick-start) amacıyla hata ayıklama ve test etmektir.
stop etiket Belirtilen işi etiketine göre durdurur. Bir iş talep üzerine çalışıyorsa (on-demand), launchd koşullardan herhangi birinin karşılandığını tespit ederse işi hemen yeniden başlatabilir.
list [-x] [etiket] Önerilen alternatif alt komut: print
Argümansız çalıştırıldığında, launchd'ye yüklenen tüm işleri üç sütun halinde listeler. İlk sütun, çalışıyorsa işin PID'sini görüntüler. İkinci sütun, işin son çıkış durumunu görüntüler. Bu sütundaki sayı negatifse, işi durduran sinyalin negatifini temsil eder. Dolayısıyla, "-15" işin SIGTERM ile sonlandırıldığını gösterir. Üçüncü sütun işin etiketidir. Eğer [etiket] belirtilmişse, istenen iş hakkında bilgi yazdırır.
-x: Bu bayrak artık desteklenmemektedir.
setenv anahtar değer Çağıranın bağlamında launchd tarafından gelecekte başlatılacak tüm süreçler üzerinde ayarlanacak bir ortam değişkeni belirtir.
unsetenv anahtar Çağıranın bağlamında launchd tarafından gelecekte başlatılacak süreçlerde bir ortam değişkeninin artık ayarlanmamasını belirtir.
getenv anahtar Çağıranın bağlamında başlatılan tüm süreçler için launchd'nin ayarlayacağı bir ortam değişkeninin değerini yazdırır.
export Bir kabuk eval ifadesinde kullanılmak üzere launchd'nin tüm ortam değişkenlerini dışa aktarır.
getrusage self | children launchd veya launchd'nin çocuk süreçleri için kaynak kullanım istatistiklerini alır. Bu alt komut uygulanmamıştır.
limit [cpu | filesize | data | stack | core | rss | memlock | maxproc | maxfiles] [both [soft | hard]] Argümansız çalıştırıldığında, bu komut getrlimit(2) aracılığıyla bulunan launchd'nin tüm kaynak sınırlarını yazdırır. Belirli bir kaynak belirtildiğinde, o kaynağa ait sınırları yazdırır. Üçüncü bir argümanla, hem sert (hard) hem de esnek (soft) sınırları bu değere ayarlar. Dört argümanla, üçüncü ve dördüncü argümanlar sırasıyla esnek ve sert sınırları temsil eder. Bkz. setrlimit(2).
shutdown Tüm işleri kaldırarak launchd'ye kapanmaya hazırlanmasını söyler. Bu alt komut uygulanmamıştır.
umask [yeni_maske] launchd'nin umask(2) değerini alır veya isteğe bağlı olarak ayarlar. Bu alt komut uygulanmamıştır.
bslist [PID | ..] [-j] Bu alt komut uygulanmamıştır ve yerini çok daha zengin bilgiler sağlayan print alt komutu almıştır.
bsexec PID komut [argümanlar] Bu, verilen komutu hedef PID'ye mümkün olduğunca benzer bir yürütme bağlamında yürütür. Benimsenen özellikler arasında Mach bootstrap isim alanı, exception sunucusu ve güvenlik denetim oturumu yer alır. Sürecin kimlik bilgilerini (UID, GID vb.) değiştirmez veya hedef süreçten herhangi bir ortam değişkenini benimsemez. Yalnızca Mach bootstrap bağlamını ve doğrudan ilgili özellikleri etkiler.
asuser UID komut [argümanlar] Bu, verilen komutu hedef kullanıcının bootstrap bağlamına mümkün olduğunca benzer bir yürütme bağlamında yürütür. Benimsenen özellikler arasında Mach bootstrap isim alanı, exception sunucusu ve güvenlik denetim oturumu yer alır. Sürecin kimlik bilgilerini (UID, GID vb.) değiştirmez veya kullanıcıya özgü herhangi bir ortam değişkenini benimsemez. Yalnızca Mach bootstrap bağlamını ve doğrudan ilgili özellikleri etkiler.
bstree Bu alt komut uygulanmamıştır ve yerini çok daha zengin bilgiler sağlayan print alt komutu almıştır.
managerpid Mevcut bootstrap'i yöneten launchd'nin PID'sini yazdırır. Önceki uygulamalarda, her biri kendi Mach bootstrap alt kümelerini yöneten birden fazla launchd süreci olabilirdi. Mevcut uygulamada, tüm bootstrap'ler tek bir süreç tarafından yönetilir, bu nedenle bu alt komut her zaman "1" yazdıracaktır.
manageruid Çağıranın launchd bağlamıyla ilişkili UID'yi yazdırır.
managername Mevcut launchd bağlamını yöneten launchd iş yöneticisinin adını yazdırır. Daha fazla ayrıntı için launchd.plist(5) içindeki LimitLoadToSessionType özelliğine bakın.
help Hızlı bir kullanım açıklaması yazdırır.
Uyarılar (Caveats)
"Eski" alt komutlar (özellikle list) tarafından üretilen çıktı, önceki OS X sürümlerindeki çıktılarıyla eşleşmelidir. Ancak, daha yeni alt komutların çıktısı belirli bir biçime uymaz ve sürümler arasında kararlı kalacağı garanti edilmez. Bu komutlar programlar veya betikler tarafından otomasyon için değil, insan geliştiriciler ve sistem yöneticileri tarafından kullanılmak üzere tasarlanmıştır. Çıktıları bir API teşkil etmez ve bunu ayrıştırmaya çalışan programlara ileriye dönük uyumluluk sözü verilmez.
KULLANIMDAN KALDIRILAN VE KALDIRILAN İŞLEVSELLİK launchctl'nin artık etkileşimli bir modu yoktur ve stdin'den gelen komutları kabul etmez. Erken önyükleme sırasında çalıştırılacak alt komutlar için artık /etc/launchd.conf dosyasına başvurulmaz; bu işlevsellik güvenlik gerekçeleriyle kaldırılmıştır. Bir kullanıcının oturumu kurulmadan önce $HOME/.launchd.conf dosyasına başvurulacağı belgelenmiş olsa da, bu işlevsellik hiçbir zaman uygulanmamıştır.
launchd artık iletişim için Unix alan soketlerini (Unix domain sockets) kullanmamaktadır, bu nedenle LAUNCHD_SOCKET ortam değişkeni artık geçerli değildir ve ayarlanmaz.
launchd artık ağ üzerinden yapılandırma dosyaları yüklememektedir.
Dosyalar (Files)
~/Library/LaunchAgents Kullanıcı tarafından sağlanan kullanıcı başına ajanlar. /Library/LaunchAgents Yönetici tarafından sağlanan kullanıcı başına ajanlar. /Library/LaunchDaemons Yönetici tarafından sağlanan sistem genelindeki daemon'lar. /System/Library/LaunchAgents OS X kullanıcı başına ajanları. /System/Library/LaunchDaemons OS X sistem genelindeki daemon'ları.
Çıkış Durumu (Exit Status)
launchctl alt komut başarılı olduysa 0 durumuyla çıkacaktır. Aksi takdirde, insan tarafından okunabilir forma dönüştürülmek üzere error alt komutuna verilebilecek bir hata koduyla çıkacaktır.
Ayrıca Bakınız (See Also)
launchd.plist(5), launchd(8), audit(8), setaudit_addr(2)
Darwin 1 Ekim, 2014 Darwin