Você não está capturando o código de retorno de start-stop-daemon
.
Seu problema é que você está iniciando em segundo plano e é iniciado corretamente. Quero dizer que você está capturando o código de retorno de starting something in background that wants to start something in background
.
Tente isto:
rm /tmp/not_existent_file &
echo $?
Isso sempre imprime 0
.
Para obter o código de retorno de um processo em segundo plano, você deve esperar que ele saia com wait
. Aqui está um exemplo:
rm /tmp/not_existent_file &
wait $!
echo $?
Se você quiser iniciar o processo que não está bifurcando sozinho, tente usar a opção --background
e remova &
do final da linha start-stop-daemon
.