![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: I would like to write 2 com files in dcl doing interprocess comms. The first one will hibernate for a preset time interval and wake up to call for the second com file which will do a check on the shadowsets within the system. I have written the second com file but am finding difficulty in writing the first one. Can I do it just by using dcl? A flag to pass back the its contents from the second to the first com file would do. The Answer is : The WAIT command works perfectly nicely for delaying operations. Other DCL-based alternatives include periodic batch jobs. Various system-monitoring packages are available, as well. As an example of how to do this task, see SYS$EXAMPLES:MSCPMOUNT.COM. As for the interprocess communications, one can use logical names in a logical name table shared by the two DCL processes, or one could use DECnet and a client-server procedure such as the one Stephen Hoffman posted to comp.os.vms recently: $! x.com $ $! This procedure must be in the user's login directory. $! Requires a self-referential (not reverential :-) proxy: $! UAF> add/prox <LocalNode>::<CurrentUser> <CurrentUser>/default $! Author: Stephen Hoffman, OpenVMS Engineering, Compaq $ $ goto 'f$mode()' $INTERACTIVE: $ open/read/write chan 0::"task=x" $ write chan "Hello" $ read chan parameter $ close chan $ write sys$output parameter $ exit $BATCH: $OTHER: $NETWORK: $ open/read/write chan sys$net $ read chan parameter $ write chan "''parameter' yourself!" $ close chan $ exit An example of a run of the above procedure: $ @x Hello yourself! $
|