Restart an app if it is force quit I have the Freedom app installed to control my procrastination.

However, I can force quit Freedom from the Activity Monitor, and the remainder of the week just goes by without me getting anything done.

Is there any way by which I can restart this app if it is quit?
There is! launchd.info's cookbook has an example to keep Safari open. We can amend that to suit your, uh, anti-procrastination needs. Amending the original (Safari) version results in:

&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;
&lt;plist version="1.0"&gt;
    &lt;dict&gt;
        &lt;key&gt;KeepAlive&lt;/key&gt;
        &lt;true/&gt;
        &lt;key&gt;Label&lt;/key&gt;
        &lt;string&gt;local.freedom.keepAlive&lt;/string&gt;
        &lt;key&gt;ProgramArguments&lt;/key&gt;
        &lt;array&gt;
            &lt;string&gt;/usr/bin/open&lt;/string&gt;
            &lt;string&gt;-W&lt;/string&gt;
            &lt;string&gt;/Applications/Freedom.app&lt;/string&gt;
        &lt;/array&gt;
    &lt;/dict&gt;
&lt;/plist&gt;


Save that as ~/Library/LaunchAgents/local.freedom.keepAlive.plist. Check the last &lt;string&gt;... line - is that where Freedom is on your Mac? Edit the file if necessary and re-save it. Then use launchctl to load your anti-procrastination launch agent into launchd:

launchctl load ~/Library/LaunchAgents/local.freedom.keepAlive.plist


Check your launch agent is running with:

launchctl list | grep freedom


And finally - try quitting Freedom. If all goes well your attempt to procrastinate should be thwarted.