launchdDaemons'u ( /Library/LaunchDaemonsveya /System/Library/LaunchDaemons) kök olarak çalıştırır ve kullanıcıların giriş yapmış olup olmadıklarına bakılmaksızın bunları çalıştırır. Başlatma Aracıları ( /Library/LaunchAgents/veya ~/Library/LaunchAgents/), kullanıcı bu kullanıcı olarak oturum açtığında çalıştırılır. Setuid'i betiklerde betik kullanan kullanıcıyı değiştirmek için kullanamazsınız. /SystemBen senin koyarak tavsiye böylece dizin, Mac OS X görevleri için ayrılmıştır launchdya içine Mülk Listelerini /Libraryveya ~/Librarymantıklı olarak klasörde.
Yani ilk adım bir ajan veya bir daemon yapıp yapmadığınızı belirlemektir.
İkinci adım .plistdosyanızı oluşturmaktır. Bu konuda yardımcı olması için Lingon gibi GUI tabanlı programları kullanabilirsiniz veya en sevdiğiniz metin düzenleyicisini kullanabilirsiniz:
.plistHer saatte bir komut dosyası çalıştırmak için bir örnek ( StartIntervalveya StartIntervalCalendaristediğimiz anahtarlar - StartIntervalbir öğenin her xsaniye, StartIntervalCalendarbelirli bir saat ve / veya tarih için gerçekleşmesi. StartCalendarInterval ile yaptığım bir örnek için SuperUser'da 126907'ye bakın ):
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>local.IDENTIFIER_HERE.SOMETHING</string>
<key>OnDemand</key>
<true/>
<key>RunAtLoad</key>
<false/>
<key>UserName</key>
<string>USERNAME HERE</string>
<key>Program</key>
<string>/PATH/TO/SCRIPT</string>
<key>ProgramArguments</key>
<array>
<string>Argument_1</string>
<string>Argument_2</string>
</array>
<key>StartInterval</key>
<integer>3600</integer>
</dict>
</plist>
.plistKomut dosyanızı ve gereken bağımsız değişkenleri işaret edecek şekilde değiştirin (bağımsız değişkenler ayrı satırlardadır) ve dosyayı Etiket değeriyle aynı ada sahip ancak .plistsonunda kaydedin . (örneğin, local.my-mac.flickrstatsolarak kaydedilir local.my-mac.flickrstats.plist). Henüz yapmadıysanız, Daemon (her zaman çalışır) oluştururken veya (yalnızca oturum açmış durumdasınız) veya (herhangi bir kullanıcı oturum açmış durumda iken) bu .plistdosyayı taşıyın ./Library/LaunchDaemons~/Library/LaunchAgents/Library/LaunchAgents
İşi başlatmak için launchctlgerektiği şekilde çalıştırmak istediğiniz dosyayı yükleyin. İçindeki öğeler /Libraryiçin sudo kullanmalısınız: örneğin,sudo launchctl load -w /PATH/TO/PLIST
Başvuru için ayrıca Süper Kullanıcı ile ilgili aşağıdaki soruları da inceleyin: Kök olarak Launchd komutu , Sistem çapında bir arka plan programı yükleyin ve Her gün çalıştırmak için bir komut dosyasını nasıl alabilirim