The system function spawns a subprocess and executes the command specified by string in that subprocess. The system function waits for the subprocess to complete before returning the subprocess status as the return value of the function. The subprocess is spawned within the system call by a call to vfork. Because of this, a call to system should not be made after a call to vfork and before the corresponding call to an exec function. For OpenVMS Version 7.0 and higher systems, if you include <stdlib.h> and compile with the _POSIX_EXIT feature-test macro set, then the system function returns the status as if it called waitpid to wait for the child. Therefore, use the WIFEXITED and WEXITSTATUS macros (described in the wait* routines) to retrieve the exit status in the range of 0 to 255. You set the _POSIX_EXIT feature-test macro by using /DEFINE=_ POSIX_EXIT or #define _POSIX_EXIT at the top of your file, before any file inclusions.