Hi
The most flexible way would be to use sockets (that way, the processes aren't even restricted to being on the same computer). CVI has a very nice sockets interface which allows you to register a callbakc to handle all incoming traffic. This should be fine unless the amount of traffic you expect to see is going to be very heavy.
In this case, you would make the "start-up" process a server which waits for connections and fulfills requsts. In your case, the requests are to check status, reserve a resource, to release a resource and to "shut down". Because of the way CVI handles tcp events, there will be a distinct ordering of requests so no two processes should ever be able to reserve the same resource.
If this proves to be too slow or clunky, you could
also use shared memory, but that comes with its own caveats and requires all the processes to coexist on the same machine. Thank you.
Robin D'Souza
National Instruments