У меня есть простой сценарий выскочки, запускающий мой демон. При этом выскочка возвращает правильный pid, но мой демон не может создать фактический файл pid.
script
VM=$(cat /proc/meminfo | grep MemTotal | awk '{ print $2 }')
ulimit -v $VM
ulimit -c unlimited
exec $DAEMON
end script
Если я выполняю $ DAEMON из командной строки, все разветвляется, и файл pid создается должным образом.
Если вы используете Ubuntu Raring / Saucy или Debian sid, вы можете легко установить процедуру для получения полной информации о среде (как показано по ссылкам выше).