In devstack, each OpenStack service runs in its own virtual terminal. All these virtual terminals are managed by a GNU utility named screen. To restart a service, access the virtual terminal, interrupt the program running in the foreground, then re-run it by going back in the command history.
To know the names of terminals, just list all the ceilometer log files:
ls /opt/stack/logs/ceilometer*.log
I am sure there is also a screen command to do that, but I don't know it by heart.
To enter a screen, for example the screen of the central agent:
screen -x stack -p ceilometer-acentral
To interrupt the foreground process, type control-C. To restart the program, type !! (double exclamation mark). I remember that one of the ceilometer processes was immune against control-C. If you have that problem, use the kill command to interrupt it.