Para demonizar adecuadamente un proceso para Debian, necesitará tomar varios pasos, entre los que se encuentra el proceso de control, restablecer IO y crear un archivo de identificación de proceso para que funcione bien. En su lugar, puede usar algo como el programa daemon del paquete del mismo nombre para hacerlo por usted. Si eso es lo que quería hacer, la respuesta se puede encontrar aquí en StackOverflow: /programming/3095566/linux-daemonize
El comando upstart es más parecido al comando invoke-rc.d de Debian o al comando de servicio del paquete sysvinit-utils. Esperan trabajar con scripts de inicio en /etc/init.d. Es estándar en Debian crear uno de esos para su paquete y hacer que use el programa start-stop-daemon como puede ver en el ejemplo /etc/init.d/skeleton.
El hecho de que cree un script /etc/init.d/myservice no significa que deba iniciarse automáticamente. Puede ajustar los niveles de ejecución en los que se detiene y comienza automáticamente usando una herramienta como update-rc.d. Esto se describe con más detalle en ¿ Deshabilitar el inicio de un servicio en todos los niveles de ejecución?