Here is my s-s-d execution line: start-stop-daemon --pid=${APP_PID} --start --verbose --env PYTHONPATH="${APP_ROOT}:${APP_ROOT}/${APP_NAME}" --chuid ${APP_OWNER}:${APP_GROUP} --exec /usr/bin/python ${APP_ROOT}/${APP_NAME}/manage.py -- runfcgi socket=${APP_SOCK} pidfile=${APP_PID} method=${APP_METHOD} maxchildren=${APP_CHILDS} workdir=${APP_ROOT}/${APP_NAME} daemonize=true I have the following troubles. In the shown above line "--pid=${APP_PID}" *always* prevent app from starting. I've tried to create empty ${APP_PID}, tried to remove it, anyways no python process is spawned. Ok, I've removed this line to see if it would work this way. It does work when I'm executing it from bash shell, but it fails (returns 1) when being executed from init.d/* script. That might be a problem in my script, but I have the same behavior in the stock init.d/ejabberd script for ejabberd: start-stop-daemon --start --quiet --chuid jabber:jabber \ --exec /usr/bin/env HOME=/var/run/jabber /usr/bin/ejabberd -- -noshell -detached this one does work (spawn ejabberd correctly) but returns 1 == script fails (but the server is working!). Reproducible: Always Steps to Reproduce:
This is fixed in baselayout-2.0.0_rc5 along with a whole load of other vserver goodness.
Does that mean that I have to use hardmasked package on a production server? Sounds weird.
The baselayout team only supports vserver with baselayout-2. Yes it's currently hard masked, but it should be coming out of that very soon now.