prrnwÄyPyPXtv6«Æ (1&/ f@àÿÿ€ÀYšyP«Æ111;E‚È'‹c— )Ô?  L P Q s • # / ‚ Þ ž  } Þ   N { ÀYx¸ ˆÎ#¤%ã&&S&}&€)À õ)É®Hª€)À õ)É®Hªq0)À)Aà ñÅIñIÅñð0X€P¬Aà  ñÅ€­€IññÅIÄAÄO€OIÄñÅ0AI† ÆñAÄ)Ò€)À® † ö)À€ Ѐ)Ò®ª€7×Ä0 7÷Ä€ €0€¬'ªAˆ9AÉÿêª ñÄ€ ­I ññÄññÄAêññÄIñÄñAÃA‰¬€ €0€¬ 7ÃA÷ÄA‰ÿ¬ª @@ÿŠHð0X€& €0€ ¬' ð0X€! €0€ ¬'ð0^@€ €)Û® ð0^€)É.ð0^€)É.ªErr -xxxxxError xxxxxð0X€ €0€ ¬'AÀp°)Ò àô)É®G.€)Ò..ªError XXXXX,ð0X€­€Iñð0XIð0X0AI† ÆñA)Ò€)À®*ð0X€' €0€ ¬ ð0 »€† Ƭ€( €0€¬'† Æ€p°)Ò àô)É®G.€)Ò.ªError xxxxx, WRITE to OUT file: aaâiaaâiaaâ‘*€€ii€€Z†Æ×’)Éæh €€v†Æ×’)ÉÝh a)Ò€q°)É ãñ)É®H@/ð0X€i €0€¬ €q €0€¬'.€)Ò.AHð0X€a €0€¬ €i €0€¬'.€)Ò.. )À€q° †ù)Û®H@/ð0X€L €0€ ¬ €U €0€¬'.€)Ò.AHð0X€E €0€ ¬ €N €0€¬'.€)Ò..ªError xxxxx, SEGMENT_ALLOCATE_DTL: xxxxx, SEGMENT_ALLOCATE_Error XXXXX, SEGMENT_USE_ error.DTL: XXXXX, SEGMENT_USE_ error.†Æð )Ò€)À®ð0X€ €0€%¬ € €0€¬'†Æ)À.ªError xxxxx, READUPDATE $RECEIVE Err.AÃ×€;×’°` €€()Û ðô)É®H@5€ð°X€€J €°$€AAÃ×€v×’€€ ` AÃ×€;×’€€ °` A€€8 €°$€.€)Ò.ÿAÃ×€;×’€€ °`  €AÃ×€;×’€€°`  ªError xxxxx, Unable to monitor †ÆA×€;×’€€ °` A†ΪA‰ÿ9êÿ†ΪAÃ×€v×’€€ ` AÃ×€;×’€€ °` €q°AÃ×€;)ÿ¨×¨Ù’°` )ÉAÃ×€;×’€€ °` )É€ þí)Ò®H@D€ð°X€€Q €°$€+AAÃ×€v×’€€ ` AÃ×€;×’€€ °` A€€E €°$€.€)Ò.€AÃ×€;×’€€ °`  . €ªAÃ×€;×’°` €†ö°€€ªÿªError xxxxx, Invalid process in data file: €AÄ×€;×’€€ °`  AÃ2q0€Ë €0€ ¬':q0€Æ €0€ ¬'0q0€Á €0€ ¬'&q0€¼ €0€ ¬'q0€· €0€ ¬'€…@G€ÿÚÿÅÿìÿëÿêÿéÿÊÿÝÿæ€ð°X€q0€ AAÄ×€v×’€€ ` AÄ×€;×’€€ °` A€€ €°$€AAÄ×€v×’€€&` AÄ×€;×’€€°` A€€^ €°$€AÄ×€;×’€€°` AÃþ. †Æ€)Ò.AÃAÃAÃÿÿAÄ×€;×’€€°`   €AÄ×€;×’€€°`  ªSTOP: ABEND: CPU: EX-STOP: STOPPED: €†#ö0Iñ€€)Ò®A0Oö †#ö€ ,A0Oö €, €€,§ A0Oö † ö€,A0Oö € €€,§ A0Oö †ö€,€IAˆ9²ª ðHð0I€R€A†÷A€˜‚Ið0€A€˜‚Jð0€ô¬‡+A€˜‚Hð0€ôÑ ÑOŽ×A€˜‚Ið0€õA€˜‚H ð0€ÑOŽ÷ÑOŽ×¬€IAˆ9ÿ¼ÑÑOŽ×ˆˆNõIAˆ9†Æ‰ÿ¨ð0I€R€A†÷A€˜‚Ið0€A€˜‚Jð0€ô¬‡+A€˜‚Hð0€ôÑ ÑOŽ×A€˜‚Ið0€õA€˜‚H ð0€ÑOŽ÷ÑOŽ×¬€IAˆ9¼ÑÑOŽ×ˆˆNõIAˆ9†Æ‰ÿ¨ªqq)ÉðHñ† ö€ ,ñ†ö€ ,† ö„ô€,€ñ°€ð° Þ€€#€†ö° þ)ÿù)À® H€ñ°€ð° »€€#€† ö° þ)ÿù)À® H†Ɖ½„̆Æ  †ΆƉÿBð0€€ €0€¬§ÿ†þð0 ˜€ð0B†Ƭª€IA0ð 0€€ €0€¬'A0Oö € €€,'€A0OÎ ªDATAFILE DATAFILEA€˜‚Hð0€€ ­€IñA€˜‚Ið0€A€˜‚Ið0€õ€y*A€˜‚Hð0€€ ­€IñA€˜‚Ið0€A€˜‚Ið0€õ€y*€IA€˜‚Hð0€€( €0€¬'ÍA€˜‚Hð0€€' €0€¬'½A€˜‚Hð0€€& €0€¬'­ªDATAFILE-CHECK-CYCLE-SECONDS MAX-PROCESSES MONITOR-MSGS-Y-N ð0P€ €0€¬'ð˜†ö€ €€, ö€ ,€†Îÿ†Î..ªJMON ÿÿ€€A×€;×’€€ °`  Aˆ9†Æ‰ÿëªq)À €I€I7€O€y€y€q°A€ñ°A€q°)ÿ €€ÿå)Ò®IA€ªaÄO÷°ÁÁª€ð° ˜€)É.!† ΀ð° ˜€† Æ€„ ô°€)ÿ ùò)É® €)À õ)É®Hª$RECEIVEq0)Àñ0Aõ€,'€ñ€€†ö°€)ÿ€)À ù€ò)É®H@ð0X€ €0€¬ € €0€¬'†Æ)À.ªError xxxxx, OPEN of $RECEIVE. †ö€„ô Ѐ)ö®†Æ€p°)Ò àô)É®G@€)À®?@ð0X€P €0€#¬ €[ €0€¬'†Æ)À.'À.€F€)É®.€)À®.€)À®€)À® €…@G€ÿíÿæÿÞÿðð0X€% €0€¬ €- €0€¬'†Æ)À.ªError xxxxx, READUPDATE of $RECEIVEError xxxxx, REPLY of $RECEIVE€A0OÆ A0Oö † ö€,A0Nô €,Aˆ9媀-A€˜‚Hð0€ô ð0X€" €0€¬ A€˜‚Ið0€€¬€ €0€¬'€)Ò..Aˆ9ÿЪReqd param missing: €†ö °€ð° €€#€„)íô)À¨I° þù)Û® H@ð0X€ €0€2¬ ð0 €†Ƭ€& €0€¬'.€)Ò..ªError xxxxx, OLDFILENAME_TO_FILENAME of datafile: €IA€˜‚Hð0€ô ... Lines that don't start with $ after removing leading spaces are ignored. For each process on the list: If running, we become the MOM of the process. If we receive a STOP or ABEND for a process, we output a message to the out file in format: ABEND: STOP: CPU: EX-STOP: Note that 'EX-STOP' indicates the process was stopped by an external process. Whenever discovered to not be running (at startup and each cycle): € €0€¬'€)Ò.ð0X€ €0€G¬ €, €0€¬'€)Ò.ð0X€ €0€G¬ €< €0€¬'€)Ò.ð0X€/ €0€G¬ €L €0€¬'€)Ò.ð0X€? €0€G¬ €\ €0€¬'€)Ò.ð0X€O €0€G¬ €l €0€¬'€)Ò.ð0X€_ €0€G¬ €| €0€¬'€)Ò.ð0X€o €0€G¬ €Œ €0€¬'€)Ò.ð0X€ €0€G¬ €œ €0€¬'€)Ò.ð0X€ €0€G¬ €¬ €0€¬'€)Ò.ð0X€Ÿ €0€G¬ €¼ €0€¬'€)Ò.ð0X€¯ €0€G¬ €Ì €0€¬'€)Ò.ð0X€¿ €0€G¬ €Ü €0€¬'€)Ò.ð0X€Ï €0€G¬ €ì €0€¬'€)Ò.ð0X€ß €0€G¬ €ü €0€¬'€)Ò.ð0X€ï €0€G¬ € €0€¬'€)Ò.ð0X€ÿ €0€G¬ € €0€¬'€)Ò.ð0X€ €0€G¬ €, €0€¬'€)Ò.ð0X€ €0€G¬ €< €0€¬'€)Ò.ð0X€/ €0€G¬ €L €0€¬'€)Ò.ð0X€? €0€G¬ €\ €0€¬'€)Ò.ð0X€O €0€G¬ €l €0€¬'€)Ò.ð0X€_ €0€G¬ €| €0€¬'€)Ò.ð0X€o €0€G¬ €Œ €0€¬'€)Ò.ð0X€ €0€G¬ €œ €0€¬'€)Ò.ð0X€ €0€G¬ €¬ €0€¬'€)Ò.ð0X‘Ÿ STOPPED: Every cycle, we check the modification timestamp of 'DATAFILE'. If it has changed since the last time we loaded it: * Any process previous in the file that has not been removed will not be reported if it stops. * Any process added will be MOM'ed if it exists or reported as as stopped if not running. * The frequency of checks for changes to 'DATAFILE' is controlled by the parameter: DATAFILE-CHECK-CYCLE-SECONDS * The size of the monitor and datafile tables is controlled by a param: MAX-PROCESSES ======================================================================= ASSIGNS DATAFILE Defaults to 'DATAFILE'. PARAMS DATAFILE-CHECK-CYCLE-SECONDS € €0€G¬ €2 €0€¬'€)Ò.ð0X€% €0€G¬ €B €0€¬'€)Ò.ð0X€5 €0€G¬ €R €0€¬'€)Ò.ð0X€E €0€G¬ €b €0€¬'€)Ò.ð0X€U €0€G¬ €r €0€¬'€)Ò.ð0X€e €0€G¬ €‚ €0€¬'€)Ò.ð0X€u €0€G¬ €’ €0€¬'€)Ò.ð0X€… €0€G¬ €¢ €0€¬'€)Ò.ð0X€• €0€G¬ €² €0€¬'€)Ò.ð0X€¥ €0€G¬ €Â €0€¬'€)Ò.ð0X€µ €0€G¬ €Ò €0€¬'€)Ò.ð0X€Å €0€G¬ €â €0€¬'€)Ò.ð0X€Õ €0€G¬ €ò €0€¬'€)Ò.ð0X€å €0€G¬ € €0€¬'€)Ò.ð0X€õ €0€G¬ € €0€¬'€)Ò.ð0X€ €0€G¬ €" €0€¬'€)Ò.ð0X€ €0€G¬ €2 €0€¬'€)Ò.ð0X€% €0€G¬ €B €0€¬'€)Ò.ð0X€5 €0€G¬ €R €0€¬'€)Ò.ð0X€E €0€G¬ €b €0€¬'€)Ò.ð0X€U €0€G¬ €r €0€¬'€)Ò.ð0X€e €0€G¬ €‚ €0€¬'€)Ò.ð0X€u €0€G¬ €’ €0€¬'€)Ò.ð0X€… €0€G¬ €¢ €0€¬'€)Ò.ð0X€• €0€G¬ €² €0€¬'€)Ò.ð0X€¥ €0€G¬ ‘ (Optional) Indicates how often we reload the datafile and update our list of processes to be monitored. Valid values are in the range 1 to 32767. Default value is 60 when not entered. MAX-PROCESSES (Optional) Indicates how many process names we can have on our list to be monitored. This field is used for allocating memory. Valid values are in the range 1 to 32767. Default value is 1000 when not entered. PARAM MONITOR-MSGS-Y-N (Optional) When 'Y', indicates we output a message to the hometerm when a process becomes monitored or unmonitored, and OUT messages are also sent to the hometerm. Message Format: MONITOR: €Š €0€¬'€)Ò.ð0X€} €0€G¬ €š €0€¬'€)Ò.ð0X€ €0€G¬ €ª €0€¬'€)Ò.ð0X€ €0€G¬ €º €0€¬'€)Ò.ð0X€­ €0€G¬ €Ê €0€¬'€)Ò.ð0X€½ €0€G¬ €Ú €0€¬'€)Ò.ð0X€Í €0€G¬ €ê €0€¬'€)Ò..ª MONITOR OFF: Valid values are 'Y' and 'N'. Defaults to 'Y' when not present. =======================================================================ñÀ€)Ò.ªi€!A€‚HO÷Äò• A€‚HO÷ÄI€cI aA€‚JO÷ÄòiAˆ9bÜaá•ñ€„ €0€?¬ € €0€¬'ñ€€)Ò..€ñ°)É®H@.ñ€‡ €0€¬ ñ€¬€ñ°)É€q°€ñ€€q°)ö€ Ãøì)Ò® H@.€(A€‚HO÷Äò•€cIA€‚HO÷Äòa•€A€‚IO÷İ€ñ€*Aˆ9bÕñ€6 €0€?¬ €O €0€¬'ñ€€)Ò..*Not licensed for this node. Call (800) 526-3744 for a license. Not licensed for this node. Call (800) 526-3744 for a license.ñ)À®†Ç€dŠ„ÅˆÉ†Ç„Í†Ç„ÍÁcÁÁÁÁ†ÇÇÁÁ+†ÇÇ&„ÅÅ!ñ€G €0€¬ †J÷È€¬€F €0€$¬ €Q €0€¬'ñ€€)Ò..'†5÷È€B €0€¬ €H €0€¬'†E÷Ȅŀ €)Û® †H÷Ȅŀ €)Û® †K÷ÈÁ€ €)Û® *Evaluation expired , Call (800) 526-3744 for a license., Trial through xx/xx/xxxx€I €I 7 €O €y €y ñ €h €€, ñ €,€q °A €ñ °A €q °)ÿ €€ÿå)Ò®H@.ñÈ€H €0€¬ €E €0€¬ €B €0€%¬ €N €0€¬ €T €0€¬'O÷ °Á €ñÈ€€q°)ÿ€€õ)ä®H@.† ÷ÈAÇ€ €)Û® † ÷ÈAÆ€ €)Û® * Vx.xx, Copyright Master Computer Group, Inc. qq q()Òq+)ÀqS)Àqf0)ÀUñ0IŸ Aà ñÅIŸAà Ÿª ÿCþžý§q)À€I€€né†÷€; €€,'€€†ï†÷€3 €€,'A€‚JO÷óA€‚HO÷I€€ƒéÿÈ€†Î€†Î€†Î€†ÎñÅAÄAÃð€€)í.,ª\SWD \BOGUS ..".#.$ÀáÀ˜ùð0 H€€€)Ò.-ð0 H€)À.+†Æ.*.%.'.(. . .). .ÿ)À®ª€ €)À® …Y@ ô‰)À®ª.ª./...þ)É®„ó„À„ª„G„B„ƒöƒçƒÕ̃rƒmƒeƒ`ƒSƒRÌ‚y‚tÀ‚)Š'!ÁŠ¢ ¢ î  ! aARMTRAPAWAITIOFILENAME_DECOMPOSE_ FILE_CLOSE_FILE_GETINFOLISTBYNAME_ FILE_GETINFO_ FILE_OPEN_ LASTADDR  MONITORCPUSNUMINNUMOUT OLDFILENAME_TO_FILENAME_  OPENEDIT_PROCESSHANDLE_DECOMPOSE_ PROCESSHANDLE_GETMINE_ PROCESSSTRING_SCAN_PROCESS_GETINFOLIST_ PROCESS_SETINFO_  PROCESS_STOP_READEDIT  READUPDATE REPLYSEGMENT_ALLOCATE_ SEGMENT_USE_  SHIFTSTRING SIGNALTIMEOUTSTOP TIME WRITE&Œ Ë 5€%¥º] Ö @f™ – k&‚&{o$%·%°%%%ëÍ Ú Æg$#ðb%k ?¦ tB8­k  ÿ Þ - °í š &–$¢At ABEND^PROGRAM 1 ARM^THE^TRAP &}/ BECOME^MOM t— BUILD^ERROR^NUMBER =È CHECK^DATAFILE ågšDISPLAY^COPYRIGHT#¤+ DISPLAY^HELP ÖÎ* FATAL^ABORT" GET^HOMETERM 0 !HANDLE^COPYRIGHT O&- HOMETERM^MSG =EoINITIALIZE^EXTENDED  INITIALIZE^VARIABLES ' ÞINIT^ASSIGN^DATA^TABLE 5 INIT^EXTENDED^MEM^SEGMENTä INIT^PARAM^DATA^TABLE¡ =@LAST^MOD^TS^FPROC(?LJSF + MAIN^PROC&0 OPEN^FILES Fˆ) OPEN^HOMETERM) N" OPEN^RECVI w#OUT^MSGX' POST^READ^RECV 4c PROCESS^ASSIGN^MSG \ ‚PROCESS^CLOSE^MSG LPROCESS^CPU^DOWN^MSG " sPROCESS^EXISTS^IPROC «) PROCESS^LOOP S /PROCESS^PARAM^MSGÀ Þ PROCESS^RECV ™ À$PROCESS^REQUEST #PROCESS^STARTUP*&S.PROCESS^STARTUP^MSGj žPROCESS^STOP^ABEND^MSG  PPROCESS^STOP^MSG " QPROCESS^SYSTEM^MSG Ž • REPORT^DOWNùÔ SET^COPYRIGHTZ#ª9,SET^MONITOR^HI^INDEX  SET^RECEIVED^ASSIGNS S¸'SET^RECEIVED^PARAMS} ( STOP^PROGRAM ; SYNC^DATAFILErÍMVERIFY^WE^HAVE^REQD^ASSIGNSY%VERIFY^WE^HAVE^REQD^PARMS@x& ZERO^SUPPRESS‚&Ž%©%o$#ô»Rïâ& =A¶ê‹•ÙÝÅh&x ›&l&p4 ö ® _Ú U&e$î$Z#ê#¨"Â"­"˜"ƒ"n"Y"DlWB-îÙįš…p[F1òÝȳž‰t¿ª•€kVA,íØÃ®™„oZE0ñÜDzÚŰ›†q\G2óÞÉ´ŸŠu`K6! ÷⺠œ‡Q<î¤ßʲ‹:F™ÝáÉl&u&S ý&t þ N÷&v&T&U†&w À E ! § ¥ ™ 9=&’&V D&‘ ú — I ‹ i B&IT§&r&s$ï$[#ë"Ã¥ G¼&qñpr(61/6€