Skip to content

Instantly share code, notes, and snippets.

@ToddG
Created December 13, 2013 19:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ToddG/7949832 to your computer and use it in GitHub Desktop.
Save ToddG/7949832 to your computer and use it in GitHub Desktop.
Ubuntu upstart file to launch pydoc (python documentation server) as a service... but as an unprivileged user via the (start-stop-daemon). There are other examples out there, but this is my first upstart script...
description "pydoc documentation server"
author "Todd Greenwood-Geer <todd@vizualiiz.com>"
version "1.0"
# -------------------------------------------------
# stanzas
# -------------------------------------------------
start on (filesystem and net-device-up IFACE=lo) or runlevel [2345]
stop on runlevel [!2345]
console output
respawn
respawn limit 10 5
expect fork
pre-start script
echo "" > /var/log/pydoc.log
echo "------------------------------------------------------------------------" >> /var/log/pydoc.log
echo "pre-start" >> /var/log/pydoc.log
echo "------------------------------------------------------------------------" >> /var/log/pydoc.log
echo "`env`" >> /var/log/pydoc.log
end script
pre-stop script
echo "" >> /var/log/pydoc.log
echo "------------------------------------------------------------------------" >> /var/log/pydoc.log
echo "pre-stop" >> /var/log/pydoc.log
echo "------------------------------------------------------------------------" >> /var/log/pydoc.log
echo "`env`" >> /var/log/pydoc.log
end script
post-stop script
echo "" >> /var/log/pydoc.log
echo "------------------------------------------------------------------------" >> /var/log/pydoc.log
echo "post-stop" >> /var/log/pydoc.log
echo "------------------------------------------------------------------------" >> /var/log/pydoc.log
echo "`env`" >> /var/log/pydoc.log
end script
script
echo "" >> /var/log/pydoc.log
echo "========================================================================" >> /var/log/pydoc.log
echo "run-script" >> /var/log/pydoc.log
echo "========================================================================" >> /var/log/pydoc.log
echo "`env`" >> /var/log/pydoc.log
exec start-stop-daemon --start --make-pidfile --pidfile /var/run/pydoc.pid --chuid todd --exec /usr/bin/pydoc -- -p 1234 >> /var/log/pydoc.log 2>&1
end script
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment