... or, with other words, a ready-made or an easy way of accessing the state of a running program, possibly to reconfigure a running program, similarly to the way sysctl(3) does for kernel code?
Recently I stumbled upon Linux Appliance Design book, where authors made up pretty clever way of interacting with a running program: they wrote a little library to emulate a PostgreSQL server, one can connect with
Nevertheless, I've been wondering what the alternatives are. I know one can always sit and write something, a socket or two, message queue, HTTP interface, whatever. But does such project/library already exists, out there, to fill that gap? What would you use?
Recently I stumbled upon Linux Appliance Design book, where authors made up pretty clever way of interacting with a running program: they wrote a little library to emulate a PostgreSQL server, one can connect with
psql
to; this way you can see your program's state and to change it, as well, from any language/platform where PostgreSQL connector is available. Basically you, the programmer, choses which program state to export and what toggles to allow to be changed in runtime. Later someone, developer, tester, interface program, can access this state and can change it in runtime. The book is solid and well thought; IMHO a good read (and, surprisingly, they're giving it for free).Nevertheless, I've been wondering what the alternatives are. I know one can always sit and write something, a socket or two, message queue, HTTP interface, whatever. But does such project/library already exists, out there, to fill that gap? What would you use?