ทางเลือกหนึ่งคือเพียงแค่ใช้ launchd บันทึกรายการคุณสมบัติเช่นนี้เป็น~/Library/LaunchAgents/com.superuser.445907.plist
และโหลดด้วยlaunchctl load ~/Library/LaunchAgents/com.superuser.445907.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>com.superuser.445907</string>
<key>Program</key>
<string>/Users/username/script</string> <!-- ~/ doesn't work -->
<key>WatchPaths</key>
<array>
<string>/Users/username/Folder/</string>
</array>
<key>ThrotteInterval</key>
<integer>0</integer> <!-- run at most every 0 seconds, by default 10 -->
</dict>
</plist>
Launchd จะลงทะเบียนเฉพาะการเปลี่ยนแปลงไฟล์เมื่อมีการบันทึกแบบอะตอมหรือลบและสร้างใหม่ทุกครั้งที่มีการบันทึก แอปพลิเคชั่น OS X ส่วนใหญ่จะมีการบันทึกปรมาณูเป็นค่าเริ่มต้น แต่ตัวอย่างเช่น TextMate และ vim จะไม่บันทึก ไม่พบการเปลี่ยนแปลงในโฟลเดอร์ย่อยของโฟลเดอร์ที่จับตาดู
launchctl unload $path && launchctl load $path
นำการเปลี่ยนแปลงไปใช้กับผู้วางแผน
ดูman launchd
และman launchd.plist
สำหรับข้อมูลเพิ่มเติม