Thread Frage zu sysread (18 answers)
Opened by bianca at 2013-10-01 09:18

bianca
 2013-10-02 17:05
#170913 #170913
User since
2009-09-13
7016 Artikel
BenutzerIn

user image
Es ist so: dieses externe Programm bietet auch die Möglichkeit, seine Ausgabe via >datei.txt in eine Datei umzuleiten. Das hat auch funktioniert aber führte mich zu diesem Problem: Offene Datei unter Windows lesen
Dank FIFO klappt aber jetzt das Lesen dieser Datei mit <:raw

Und da ich immer nur 3 Fehlschüsse habe möchte ich es jetzt gern erst mal so machen und schauen, wie stabil das im Gesamtumfeld ist.
Danke euch vielmals für die vielen Impulse. Und ich bin fast überzeugt, dass ich hierauf nochmal irgendwann zurück komme :)

Zu euren Rückfragen (unsortiert):
2013-10-02T13:41:44 murphy
Soll das ganze jetzt eigentlich portabel auf allen Systemen laufen, oder reicht eine Lösung, die nur auf Windoof arbeitet?

Es muss später einzig und allein auf Win 7 64 Bit laufen. Schön wäre auch 32 Bit, damit ich nicht auf dem Produktionsserver entwickeln muss. Perl Version kann ich der Lösung anpassen, derzeit wäre Strawberry 5.10.1 drauf.

2013-10-02T13:41:11 martin.g
IPC::Run habe ich gerade mal unter Windows getestet. Ist der gleiche Käse in grün.

Ja, *seufz* ich weiß, siehe IPC::Run process ended prematurely

2013-10-02T12:41:10 martin.g
Nun habe ich mich deutlich intensiver damit auseinandergesetzt, als ich eigentlich vorhatte :-)

Bist ein Schatz, was möchtest du trinken?

2013-10-02T10:25:10 martin.g
Das Zurücksetzen des Systems verstehe ich nicht. Meinst Du das Perl Skript abzubrechen? Oder hängt sich durch das Perl Skript der andere Service auf?

Das externe Programm wiederum kommuniziert mit einer dritten Stelle und die duldet nur 3 Fehlversuche und wird nicht von mir administriert.

2013-10-02T10:25:10 martin.g
Nachtrag: Deine Ergänzung im Beitrag bzgl. Strg+C lässt darauf schließen, dass Du tatsächlich das Remote System abschießt.

Das externe Programm wartet auf eine Eingabe, daher brauche ich es ja bidirektional. Und wahrscheinlich flusht oder schließt es einfach sein STDOUT während des Wartens nicht, was wiederum auf meiner Seite zu einem "ewigen Lesen" führt. Aber ich kann das leider im Moment nicht ändern, muss es so nehmen wie es ist.

2013-10-02T10:25:10 martin.g
Wieso das dann aber dreimal funktioniert, ist mir schleierhaft.

Wie gesagt, das hat mit der dritten Gegenstelle zu tun. Wenn ich dem externen Programm die geforderte Antwort nicht gebe verursacht das an der Zielstelle einen Fehlversuch.

2013-10-02T10:25:10 martin.g
Nachtrag2: Ich habe es begriffen. Du versuchst, Dich irgendwo anzumelden, schaffst es aber nicht, weil Dein Skript nicht funktioniert. Und das System, wo Du Dich anmelden willst, sperrt den Zugang dann.

Anmelden nicht, das ist ja der erste Schritt bei Start des externen Programms. Aber im zweiten muss eine Freigabe erfolgen und wenn die nicht kommt ist das ein Fehlversuch.

2013-10-02T10:25:10 martin.g
Die Frage, die sich stellt: Das ist eine lokale Anwendung auf Kommadozeilenebene, richtig?

Auch korrekt!

2013-10-02T10:25:10 martin.g
Wenn Du Dich von Hand nach dem zweiten Mal einmal korrekt einloggst - hast Du dann wieder drei Versuche?

Nein, leider nicht.
Die heutigen Entsperrung hat von halb acht bis vor 30 Minuten auf sich warten lassen (nachdem ich tel. nachgehakt habe), das heißt, ein kompletter Tag ist jeweils futsch bei einer Sperrung.
10 print "Hallo"
20 goto 10

View full thread Frage zu sysread