To simplify the management of multiple processes, we have opted to use Supervisor in our deployment buildout. Together with the collective.recipe.supervisor Buildout recipe, this can be used to stop and start multiple processes together. The processes, including command-line options, owning users and options for console output capture are listed in the programs option in the buildout. The basic syntax is: priority name binary [arguments] redirect_stderr user For example, to run a process named instance1 at priority 10 (lower priorities are started earlier) by executing bin/instance1 console as the user under ${users:zope-process}, redirecting stderr to the console, we used: 10 instance1 ${buildout:directory}/bin/instance1 [console] true ${users:zope-process} See http://pypi.python.org/pypi/collective.recipe.supervisor for details. With Supervisor installed, we can start all our processes by running: $ bin/supervisord We can monitor and administer processes on the command line using the bin/supervisorctl command. In particular, we can shut down all processes with: $ bin/supervisorctl shutdown See bin/supervisorctl help for details about other commands. Finally, we can monitor and administer processes through a web console. In the buildout above, we bound this to port 9001. With supervisord running, we can therefore access http://localhost:9001, enter the username and password set in the buildout configuration (admin/secret) to start, stop, restart, and tail processes. Supervisor supports many other options and usage patterns. See http://supervisord.org for detailed documentation.