Schrift
[thread]6185[/thread]

Ausgabe eines Programmes abfangen...

Leser: 1


<< |< 1 2 >| >> 11 Einträge, 2 Seiten
Peddn
 2004-04-08 22:11
#81461 #81461
User since
2003-12-21
33 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hi Leute,
habe folgendes Problem:
Ich rufe ein Programm aus meinem Perlscript auf, das z.B. jede Sekunde eine Ausgabezeile produziert... Wie schaffe ich es, die ausgaben des Programms während der Laufzeit zu verarbeiten?
jan
 2004-04-09 02:03
#81462 #81462
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
open(PROGRAM, "/pfad/zum/programm|") || die $!;
while(<PROGRAM>)
{
# tu was mit der ausgabe in $_
}
close(PROGRAM);
Free Faq
 2004-04-09 13:34
#81463 #81463
User since
2003-09-10
141 Artikel
BenutzerIn
[default_avatar]
Code: (dl )
1
2
$var = qx("prog.exe");
print $var;
Haut mich nicht, ich bin ein Noob!
jan
 2004-04-09 14:32
#81464 #81464
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
das würde zwar den gesamten output auslesen, aber nicht während der laufzeit des programmes eine verarbeitung zulassen, d.h. bei 10 zeilen mit je einer sekunde verzögerung hätte man das print von 10 zeilen nach 10 sekunden, nicht entsprechend 10 mal eine zeile je sekunde...
format_c
 2004-04-09 15:24
#81465 #81465
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Funktioniert aber alles nur wenn die Ausgabe auch wirklich auf STDOUT passiert.

Gruß Alex
esskar
 2004-04-09 16:02
#81466 #81466
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
[quote=format_c,09.04.2004, 13:24]Funktioniert aber alles nur wenn die Ausgabe auch wirklich auf STDOUT passiert.

Gruß Alex[/quote]
irgendwie kann man da auch STDERR abfangen bzw. beides!
format_c
 2004-04-09 16:07
#81467 #81467
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
KA weis ich nicht genau.

Gruß Alex
esskar
 2004-04-09 16:34
#81468 #81468
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
so irgendwie

Code: (dl )
1
2
3
4
5
6
if(open(CMD, "programm.exe <parameterliste> 2>\&1 |"))
while(<CMD>)
{
       print;
}
close(CMD);
\n\n

<!--EDIT|esskar|1081514136-->
format_c
 2004-04-09 17:00
#81469 #81469
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Das hab ich schon öfters gesehen weis aber nicht was das abedeutet. wenn man make macht sieht man das häuftig. Was macht denn 2> &1 ?? Also 2> ist einge Umleitung der Ausgabe aber das &1?

Gruß Alex
esskar
 2004-04-09 17:06
#81470 #81470
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
leitet STDERR (also 2) nach STDOUT (also 1) um!
<< |< 1 2 >| >> 11 Einträge, 2 Seiten



View all threads created 2004-04-08 22:11.