P
placebo
Mitglied
Hallo zusammen,
bei uns läuft das so:
der Kunde wählt sich per Telnet (fortschrittlich, ich weiß) auf die Machine ein und führt ein C Programm aus mit dem er arbeitet.
Jetzt kann es passieren, dass das Telnet Fenster einfach geschlossen wird anstatt sich selbst zu beenden oder die Netzwerk Verbindung abbricht und das C Programm Amok läuft - das heißt es merkt nicht dass das pts Terminal tot ist und verbraucht 100% CPU Last ...
Wie kann ein Programm wenn das Terminal tot ist weiterlaufen?
Die einfachste Lösung wäre wahrscheinlich das in das C Programm einzubauen ... geht aber nicht, weil dazu kein Entwickler und keine Sourcen vorhanden sind.
Deshalb muss ich das von Systemseite abfangen.
Im Moment lasse ich alle 5 Minuten ein Script laufen das mit lsof nach "deleted pts" sucht und diese killt - das ist aber auch nicht das optimale ...
Habt ihr Ideen wie man dies unterbinden könnte?
Wenn ihr es nicht wisst, dann gehts nicht
System:
SuSE SLES9 SP4
Kernel 2.6.5-7.308-smp
bei uns läuft das so:
der Kunde wählt sich per Telnet (fortschrittlich, ich weiß) auf die Machine ein und führt ein C Programm aus mit dem er arbeitet.
Jetzt kann es passieren, dass das Telnet Fenster einfach geschlossen wird anstatt sich selbst zu beenden oder die Netzwerk Verbindung abbricht und das C Programm Amok läuft - das heißt es merkt nicht dass das pts Terminal tot ist und verbraucht 100% CPU Last ...
Wie kann ein Programm wenn das Terminal tot ist weiterlaufen?
Die einfachste Lösung wäre wahrscheinlich das in das C Programm einzubauen ... geht aber nicht, weil dazu kein Entwickler und keine Sourcen vorhanden sind.
Deshalb muss ich das von Systemseite abfangen.
Im Moment lasse ich alle 5 Minuten ein Script laufen das mit lsof nach "deleted pts" sucht und diese killt - das ist aber auch nicht das optimale ...
Habt ihr Ideen wie man dies unterbinden könnte?
Wenn ihr es nicht wisst, dann gehts nicht
System:
SuSE SLES9 SP4
Kernel 2.6.5-7.308-smp