Bunun gibi bir özellik listesi kaydedin ~/Library/LaunchAgents/test.plist
:
<?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>test</string>
<key>ProgramArguments</key>
<array>
<string>say</string>
<string>yy</string>
</array>
<key>WatchPaths</key>
<array>
<string>~/Desktop/</string>
</array>
</dict>
</plist>
Temsilci, launchctl load ~/Library/LaunchAgents/test.plist
oturum açıp tekrar oturum açarak yüklenebilir . Değişiklik yapmak, boşluğun boşaltılmasını ve yüklenmesini gerektirir.
Tilde ~/
extension ( ) varsayılan olarak WatchPath’lerde çalışır. EnableGlobbing, ProgramArjuments için joker ve tilde genişleme ekler, ancak Program veya WatchPath'leri etkilemez.
İzlenen bir dosya son çağrıdan sonraki on saniye içinde değiştirilirse, buna benzer bir mesaj system.log dosyasına eklenir:
com.apple.launchd.peruser.501[146]: (test) Throttling respawn: Will start in 7 seconds
Mesajlardan kurtulmanın bir yolu sleep 10
, senaryoların sonuna gibi bir şeyler eklemektir . ThrottleInterval değerini 10 olarak ayarlamak yardımcı olmaz.
İzlenen klasörlerin alt klasörlerinde değişiklikler algılanmadı.
Daha fazla bilgi için bkz. man launchd
Ve man launchd.plist
.