Consider following apache config: WSGIDaemonProcess testwsgi display-name=wsgi_testproject user=testproject group=testproject processes=4 threads=1 WSGIDaemonProcess cache display-name=cache_testproject user=testproject group=testproject processes=1 threads=1 WSGIScriptAlias / /home/testproject/testwsgi.py process-group=testwsgi application-group=%{GLOBAL} WSGIImportScript /home/testproject/runcache.py process-group=cache application-group=%{GLOBAL} Rename apache2 binary: $ mv /usr/sbin/apache2 /usr/sbin/apache2-bin Create wrapper apache2 and make it executable: $ vi /usr/sbin/apache2 #!/bin/bash exec -a apache2_testproject /usr/sbin/apache2-bin $@ Done $ ps faxu | grep testproject root 3846 0.0 0.2 94252 4532 ? Ss 13:21 0:00 apache2_testproject -k start testproject 3854 0.0 0.3 120220 5780 ? Sl 13:21 0:00 \_ wsgi_testproject -k start testproject 3855 0.0 0.3 120220 5760 ? Sl 13:21 0:00 \_ wsgi_testproject -k start testproject 3856 0.0 0.3 120220 5760 ? Sl 13:21 0:00 \_ wsgi_testproject -k start testproject 3857 0.0 0.3 120220 5760 ? Sl 13:21 0:00 \_ wsgi_testproject -k start testproject 3858 0.0 0.3 96188 6584 ? S 13:21 0:00 \_ cache_testproject -k start www-data 3859 0.0 0.1 93480 2864 ? S 13:21 0:00 \_ apache2_testproject -k start www-data 3860 0.0 0.3 319280 6268 ? Sl 13:21 0:00 \_ apache2_testproject -k start www-data 3861 0.0 0.3 319280 6280 ? Sl 13:21 0:00 \_ apache2_testproject -k start