Hallo ihr Lieben,
ich habe mal wieder eine Frage.
Ich logge mich von zu Hause mittels ssh auf meinem Arbeitsplatz ein. Schließlich aktiviere ich screen und starte ein C++ Programm, dass über Nacht laufen soll. Anschließend detache ich die screen Session mittels STRG + A - D.
Jetzt habe ich schon mehrfach erlebt, dass am nächsten Morgen das Programm beendet ist, allerdings die Ergebnisse nicht wie gewohnt in eine Datei geschrieben wurden. Manchmal habe ich noch eine Fehlermeldung bzgl. schreibrechte o.ä.
Kann es sein, dass mit dem detachen der screen Session das Programm - oder sagen wir der Prozess - die Schreibrechte verliert? Oder zumindest nach einer längeren Zeit? Wir reden hier von ein paar Stunden.
Gruß,
Klaus.
[screen] Schreibrechte
[screen] Schreibrechte
"In X you don't understand things, you just get used to them"
Mit X in {mathematics,quantum physics}
Bei LaTex führen mir manchmal einfach zu viele Wege nach Rom.
Mit X in {mathematics,quantum physics}
Bei LaTex führen mir manchmal einfach zu viele Wege nach Rom.
Re: [screen] Schreibrechte
Da ich praktisch immer und überall screen nutze und mir schon öfter über längere Zeit (Tage) gefilterte logs in Dateien ausgegeben habe (tail -f | grep >> datei) kann ich sagen dass es wohl eher nicht an (verlorenen) schreibrechten wegen einer getrennten Session liegt.
Wie schreibt das Programm in die Datei?
Was passiert wenn du alle Ausgaben des Programms auf STDOUT und STDERR in eine Datei umleitest bzw welche Fehler werden evtl geloggt? ( ./programm >> datei 2>&1 )
Wie schreibt das Programm in die Datei?
Was passiert wenn du alle Ausgaben des Programms auf STDOUT und STDERR in eine Datei umleitest bzw welche Fehler werden evtl geloggt? ( ./programm >> datei 2>&1 )
Re: [screen] Schreibrechte
Mal wild geraten: Koennte es damit zusammenhaengen, dass das Programm direkten Zugriff auf's Terminal haben will, das aber gerade nicht verfuegbar ist und dann ein Timeout oder so kommt? (Vielleicht ist die Fehlermeldung mit den Schreibrechten ja nur nicht genau genug.)
Ich habe lange screen(1) verwendet (nun tmux(1)), habe ein solches Problem aber nie gehabt, trotzdem die Session oft auch Tage detached war.
Ich habe lange screen(1) verwendet (nun tmux(1)), habe ein solches Problem aber nie gehabt, trotzdem die Session oft auch Tage detached war.
Use ed once in a while!
Re: [screen] Schreibrechte
Ich nutze Screen seit Jahren und kenne die Probleme auch nicht. Ich denke wir brauchen mehr Details zu deinem Programm und deren Ausgabe in die Datei.
Re: [screen] Schreibrechte
Also ich schreibe mittels den Möglichkeiten von C++ in eine Datei
Gruß,
Klaus.
Code: Alles auswählen
std::fstream f;
f.open("test.dat",std::ios::out);
for(int i = 0; i < n; ++i )
f << x_values[ i ] << "\t\t" << y_values[ i ] << std::endl;
f.close();
Wie meinen?Meillo hat geschrieben:Mal wild geraten: Koennte es damit zusammenhaengen, dass das Programm direkten Zugriff auf's Terminal haben will, das aber gerade nicht verfuegbar ist und dann ein Timeout oder so kommt? (Vielleicht ist die Fehlermeldung mit den Schreibrechten ja nur nicht genau genug.)
Gruß,
Klaus.
"In X you don't understand things, you just get used to them"
Mit X in {mathematics,quantum physics}
Bei LaTex führen mir manchmal einfach zu viele Wege nach Rom.
Mit X in {mathematics,quantum physics}
Bei LaTex führen mir manchmal einfach zu viele Wege nach Rom.
-
- Beiträge: 3791
- Registriert: 26.02.2009 14:35:56
Re: [screen] Schreibrechte
Kann mich dem nur anschliessen - ich lasse monatelang ein MVS 3.8 unter Hercules mit Screen laufen - und da werden die Druckausgaben und Lochkarten (beides virtuell) immer in Dateien geschrieben. Nie ein Problem damit gehabt. Auch die täglichen ca 5 Sicherungsbänder (virtuell) machen da keinerlei Probleme.
Re: [screen] Schreibrechte
Ach, das war eben nur wild geraten, falls das Programm irgendwas Abgefahrenes macht, z.B. nicht einfach auf stdout zu schreiben sondern zu schauen ob stdout ein Terminal ist und nur dann zu schreiben oder so. Der Ansatz war: Wenn man seltsame Ergebnisse bekommt, dann ist das vielleicht nur die natuerliche Folge von seltsamen Aktionen. (Und Fehlermeldungen muessen ja nicht immer zutreffend sein.)Klaus82 hat geschrieben:Wie meinen?Meillo hat geschrieben:Mal wild geraten: Koennte es damit zusammenhaengen, dass das Programm direkten Zugriff auf's Terminal haben will, das aber gerade nicht verfuegbar ist und dann ein Timeout oder so kommt? (Vielleicht ist die Fehlermeldung mit den Schreibrechten ja nur nicht genau genug.)
Scheinbar ist das C++-Programm aber von dir entwickelt und macht nichts Ungewoehnliches. Damit sollten wir wohl besser woanders ansetzen.
Wenn du das C++-Programm selbst entwickelt hast, dann kannst du ja rausfinden wo genau die Fehlermeldung herkommt und wie sie lautet. Das wuerde bei der Fehlersuche helfen.
Use ed once in a while!