Al utilizar launchd, puede guardar una lista de propiedades como esta en ~ / Library / LaunchAgents / y cargarla con algo como launchctl load ~/Library/LaunchAgents/automator_test.plist
o cerrar la sesión y volver a iniciarla.
<?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>automator_test</string>
<key>ProgramArguments</key>
<array>
<string>automator</string>
<string>/Users/username/Desktop/Test.workflow</string>
</array>
<key>WatchPaths</key>
<array>
<string>/Users/username/Desktop/</string>
</array>
<key>StartInterval</key>
<integer>0</integer> <!-- run at most every 0 seconds, by default 10 -->
</dict>
</plist>
Launchd solo detecta cambios en los archivos cuando se guardan atómicamente (o se eliminan y se recrean cada vez que se guardan). La mayoría de las aplicaciones de OS X realizan guardados atómicos, pero, por ejemplo, TextMate y vim no.