-
Notifications
You must be signed in to change notification settings - Fork 33
Add specjour listen to your boot
pierreozoux edited this page Nov 29, 2012
·
4 revisions
Put this file here : /Library/LaunchDaemons/specjour_listen.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>specjour_listen</string>
<key>ProgramArguments</key>
<array>
<string>bundle</string>
<string>exec</string>
<string>specjour</string>
<string>listen</string>
</array>
<key>KeepAlive</key>
<true/>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>everything that is in echo $PATH</string>
<key>HOME</key>
<string>YourHomePath</string>
</dict>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>/your/project/directory/</string>
<key>UserName</key>
<string>YourUserName</string>
<key>debug</key>
<true/>
</dict>
</plist>
Don't forget to replace YourUserName, YourHomePath, EnvironmentVariables and WorkingDirectory. It is an example with bundle exec.
After that, install it :
sudo launchctl load /Library/LaunchDaemons/specjour_listen.plist
Add this to the following file /etc/local.d/specjour.start
:
#!/bin/bash
sudo -biu deploy bash -c 'cd /path/to/your/project ; bundle exec specjour listen >> /path/to/your/project/log/specjour.log & 2>&1; echo $! > /tmp/temp.pid'
sleep 1
cat /tmp/temp.pid > /var/run/specjour-listen.pid
And make this file executable : chmod 755 /etc/local.d/specjour.start
If you want to stop specjour listen :
Add this to the following file /etc/local.d/specjour.stop
:
#!/bin/bash
cat /var/run/specjour-listen.pid | xargs kill
rm /var/run/specjour-listen.pid
And make this file executable : chmod 755 /etc/local.d/specjour.stop