Thread gnu-grep braucht ewig unter Perl (system)
(7 answers)
Opened by equinox at 2010-11-01 12:37
schreibe die Stelle:
Code (perl): (dl
)
1 2 3 4 5 elsif ($pid == 0) { my $cmd = '/bin/zgrep -E " '.$method_string.'.* HTTP/[0-9]\.[0-9]\" [23][0-9]{2}" '.$_." 2>/dev/null"; print `$cmd`; exit(0); } Code (perl): (dl
)
1 2 3 4 elsif ($pid == 0) { exec('/bin/zgrep -E " '.$method_string.'.* HTTP/[0-9]\.[0-9]\" [23][0-9]{2}" '.$_." 2>/dev/null"); die(Fehler); } Und das warten auf die Kinder würde ich andres machen: Code (perl): (dl
)
1 2 3 4 5 local $SIG{CHLD}=sub{ my $pid=wait(); delete($result->{$pid}) }; sleep 1 while(keys(%$result)); Aber wie ich schon gesagte, du Quotest manches etwas durcheinander. An einigen Stellen braucht du die Anführungszeichen nicht zu entwerten und an anderer Stelle benutzt du doppelte Anführungszeichen obwohl Einfache besser währen. Wenn du das so machst musst du manche Quotes verdoppeln, damit sie auch in der Shell ankommen. Darum versuch ich das Quoten, wann immer möglich durch die passende Wahl der Anführungszeichen zu verhindern. |