Ciao a tutti.
Ho preparato uno script molto semplice per avviare un programma come servizio. Tale programma apre un socket e rimane in attesa di connessioni - ergo non ha nulla da fare. Eppure se lo avvio con start-stop-daemon la cpu viene mandata al massimo senza motivo. Nessun errore viene generato dal programma e il programma funziona correttamente.
Ovviamente se lo avvio da riga di comando il programma non manda la cpu al massimo.
Allego lo script:

codice:
#!/bin/bash
# init.d/PlannerBossServer {start|stop|restart}
#

Avvia() {
    start-stop-daemon --chuid root --background --chdir /usr/PlannerBossServer --start --make-pidfile --pidfile /usr/PlannerBossServer/PlannerBossServer.pid \
    --exec /usr/PlannerBossServer/./PlannerBossServer &
}

Arresta() {
    if [ -f  /usr/PlannerBossServer/PlannerBossServer.pid ]; then
        start-stop-daemon --stop --pidfile /usr/PlannerBossServer/PlannerBossServer.pid
        rm /usr/PlannerBossServer/PlannerBossServer.pid
    else
        echo "PlannerBossServer daemon does not seem to be running"
    fi
}

case "$1" in
        start)
            echo -n "Starting PlannerBossServer daemon: "
            Avvia
            echo
            ;;
        stop)
            echo -n "Stopping PlannerBossServer daemon: "
            Arresta
            echo
            ;;
        restart)
            echo -n "Stopping PlannerBossServer daemon: "
            Arresta
            echo -n "Restarting PlannerBossServer daemon: "
            Avvia
            echo
            ;;
        *)
            echo "Utilizzo: PlannerBossServer {start|stop|restart}"
            exit 1
esac

exit 0
Come vedete lo script è minimale.
Può essere che il fatto che il programma stampi delle righe (programma in avvio, connessione in corso..) crei problemi a start-stop-daemon?