Normalerweise reicht *DSCMSG, aber was machst du, wenn der User sich dann mal nicht anmeldet ?

QDSCJOBITV

Zeitintervall, ehe ein unterbrochener Job beendet wird. Gibt die
Zeitspanne (in Minuten) an, die ein interaktiver Job unterbrochen
werden kann, ehe er beendet wird. Ein interaktiver Job kann mit dem
Befehl DSCJOB, nach einer bestimmten Zeit der Inaktivität
(Systemwerte QINACTIV und QINACTMSGQ) oder aufgrund eines
E/A-Fehlers bei der betreffenden Datenstation (Systemwert
QDEVRCYACN) unterbrochen werden.

Eine Änderung dieses Systemwerts wird sofort wirksam. Der
Vorgabewert ist 240 Minuten.

D.h., wenn nach 240 Minuten keine erneute Anmeldung erfolgt, fliegt derJob endgültig raus.

Das Ganze funktioniert natürlich nur, wenn
a) die AS/400 die Unterbrechung überhaupt mitbekommt
b) der PC den gleichen Devicenamen wieder verwendet

Für die Erkennung der Sitzungsunterbrechung ist CHGTELNA:

Zeitüb. d. Sitzungs-Keep-Alive (TIMMRKTIMO) - Hilfetext

Gibt die Anzahl der Sekunden zwischen
Verbindungsüberprüfungen an. TCP testet jede
TELNET-Verbindung im angegebenen Zeitintervall. Erhält TCP
keine Antwort, wird die Verbindung von TCP beendet.

Dieser Parameter bestimmt, wie häufig die
Sitzungsverbindung überprüft wird. Bei Angabe eines hohen
Werts kann es länger dauern, bis eine verlorengegangene
Verbindung festgestellt wird. Bei Angabe eines niedrigeren
Werts wird die Sitzung häufiger getestet, aber wenn der
Wert zu niedrig festgelegt wird, können normale
Verzögerungen im Netz dazu führen, dass Verbindungen als
verloren angesehen werden.

Der Hilfetext für den Befehl CHGTCPA (Parameter
TCPKEEPALV) enthält eine Erklärung zu Keep-Alive. Es
sollte beachtet werden, dass TCPKEEPALV in Minuten,
TIMMRKTIMO aber in Sekunden definiert ist.