Você pode reinventar a roda, mas honestamente, eu uso o sudo sem senha para isso. Por exemplo, meu sistema de monitoramento precisa ser capaz de executar um comando para verificar o RAID de hardware. Isso requer privilégio de root, mas eu não quero rodar todo o sistema de monitoramento como root, então eu tenho em sudoers
uma linha que diz
nagios ALL=(root) NOPASSWD: /usr/lib/nagios/plugins/check_md_raid
e, em seguida, execute o comando sudo /usr/lib/nagios/plugins/check_md_raid
como usuário de monitoramento, quando preciso verificar o RAID.
Você pode ter uma linha de sudoers que diga
www-user ALL=(root) NOPASSWD: /etc/rc.d/init.d/myservice
então execute php sudo /etc/rc.d/init.d/myservice restart
.