![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: Running child processes from a main program. How do you start a child process from a main program giving some values and get results from the child. And, keep on doing this with other processes. I have managed running with one child process, but could not start more than one. I have used, vfork, write, read etc as shown on page 5-11 in "DEC-C Runtime library Reference Manual for OpenVMS Systems" Order number: AA-PUNEC-TK Thanks The Answer is : You are for assistance with interprocess communications, that the process is a child of another is largely irrevelent. The Wizard finds that using the UNIX process control emulation (vfork, pipes, etc) preferable when working with applications that must be portable to UNIX environments, while using the native OpenVMS process control and communications mechanisms (lib$spawn, system services) is preferable in many other situations. There are a variety of mechanisms available for interprocess communications, including mailboxes, global sections (shared memory), locks and lock value blocks, files, DECnet or IP connections, logical names in shared logical name tables, and various other mechanisms. Various of these mechanisms have no direct analog in the UNIX environment, thus are not available using calls to the standard C library. These mechanisms are available using calls to system services and the OpenVMS Run-Time Library (RTL) routines. Please see the OpenVMS Programming Concepts manual as a starting point. Also see the various source code examples directories, including the sys$examples: and ucx$examples: directories.
|