C'ho perso una settimana.
Confermo che all'origine del problema c'e' Apache, ed è un problema di autorizzazioni all'uso del comando Kill
Infatti il demone php viene startato con l'utente "root"
mentre Apache è startato con l'utente standard "www-data" (maledetto lui!)
l'utente www-data
non può mandare una kill ad un processo creato da un'altro utente. punto!
Come risolvere ? ci sono due strade:
1) Alzare i diritti di www-data inserendo nel file etc/sudoers la riga www-data ALL=(ALL) NOPASSWD: ALL
2) Cambiare l'utente con il quale lanciamo il demone: invece che lanciarlo come root, farlo eseguire dall'utente
www.data (es da shell: sudo -u
www.data python demone.py). Così quando php manderà la kill lo farà ad un processo startato dallo stesso utente.
Il problema della soluzione 1 è che alzare i livelli dell'utente www-data mi fa un po' paura per la sicurezza (hackers ecc)
Il problema della soluzione 2 è che poi l'utente www-data
non ha diritto di scrivere sui GPIO e quindi dovrei comunque andare ad alzare i diritti di qualcosa d'altro... ma dopo una settimana ho così male di testa che
non ho voglia di mettermi a cercare...