Em vez de, ou além de, gravar em um banco de dados, você considerou gravar em um pipe nomeado? Você pode criar um pipe nomeado por usuário e criar um processo para assistir a cada pipe nomeado. Quando o comando 'restart' for iniciado, reinicie o processo imediatamente.
Esta não é uma solução completa e pode ser melhorada, mas deve dar uma idéia de como você pode monitorar o pipe nomeado e reiniciar o processo.
while read line <$pipe
do
if [[ "$line" == 'restart' ]]; then
restart_some_service
fi
done