$! Begin SUBPROCES.COM $ SET CONTROL=T $ sys_output := 'F$LOGICAL("SYS$OUTPUT") !Get equivalence for terminal. $ OPEN/READ/WRITE/SHARE mail_box TED_INMBX !Open mailbox. $ owner = F$GETJPI("","OWNER") !Get owner process ID. $NEXT: $ DEFINE/USER/NOLOG SYS$ERROR _NLA0: $ DEFINE/USER/NOLOG SYS$OUTPUT _NLA0: $ ATTACH/ID='owner' !Attach terminal to owner. $ DEASSIGN/USER/ALL $ READ /END_OF_FILE=done - mail_box - passed_command $ DEFINE TT 'sys_output' $ DEFINE SYS$INPUT 'sys_output' $ SET NOON $ if passed_command .nes. "" then goto doit $ open/read/write ter sys$input $ if passed_command .eqs. "" then read/pro="$>" ter passed_command $DOIT: $ 'passed_command' $ result_status = F$EXTRACT(2,8,$status) !Save status. $ SET ON $ DEFINE/JOB/NOLOG EMS$PGM_STATUS 'result_status' $ DEASSIGN TT $ DEASSIGN SYS$INPUT $ GOTO NEXT $DONE: $ STOP/ID='F$GETJPI("","PID") $! $! SUBPROCES.COM - Process Subprocess commands. $! $! This header placed as a trailer for faster execution. $! $! Author: Gary ap Kohls $! Modification History: $! 29-Jan-1985 Gapk Remove /USER junk. $! 18-Jul-1985 Gapk Define SYS$ERROR and SYS$OUTPUT to NLA0: in order $! to suppress "control returned to process NAME" $! messages. $!