Ganz einfach:
Das Programm kommt in einen Loop immer wieder zum EXFMT/READ, der sofort mit Fehler abgebrochen wird. Je nach Antwortstatus des Jobs bzw. Monitorgroup o.ä. wird das Programm eben nicht abgebrochen und gerät dadurch in eine Endlosschleife.
Bei kurzfristiger Unterbrechung merkt die AS/400 u.U. dieses nicht um die Trennung des Jobs einzuleiten.
Dies kann mit verkürzen der Telnet-Überwachung (Default 2 Stunden) per CHGTELNA TIMMRKTIMO erreicht werden.
Auch sollte man von dem unsäglichen Gebrauch von dynamischen Terminalnamen (wie QPAD...) Abstand nehmen. Damit beraubt man sich der Wiederverbindung mit getrennten Jobs.
Das QPADxx ist noch durch den Job belegt und die Dialogsitzung erhält ein neues Device.
In CA und ACS gibt es schon lange die Möglichkeit mit automatischen aber expliziten Namen zu arbeiten.
Der Vorteil bei festen Namen und der entsprechenden Einstellung der Systemwerte QDEVRCYACN, QINACTITV, QINACTMSGQ ist ein Wiederverbinden möglich und der Job wird tatsächlich unterbrochen, also angehalten.