WX :: PERL :: ProcessStream

Toegang tot IO van externe processen via evenementen
Download nu

WX :: PERL :: ProcessStream Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Mark Dootson
  • Uitgever website:
  • http://search.cpan.org/~mdootson/

WX :: PERL :: ProcessStream Tags


WX :: PERL :: ProcessStream Beschrijving

Wx :: :: ProcessStream Perl is een Perl module die STDOUT, STDERR en afsluitwaardes van asynchroon lopende processen via evenementen biedt. Het kan worden gebruikt voor lange lopen of blokkerende processen die periodieke updates aan toestand via STDOUT verschaffen. Eenvoudige IPC kan via STDIN.Do dit module alleen gebruiken om de uitvoer van een ander proces te verzamelen. Daarvoor is het veel eenvoudiger om te doen: mijn ($ status $ output) = Wx :: ExecuteStdout ( 'perl -e "print qq ($ _ \ n) voor (@INC);"'); SYNOPSYS gebruik Wx :: Perl :: ProcessStream qw (: alles); EVT_WXP_PROCESS_STREAM_STDOUT ($ zelf, \ evt_process_stdout); EVT_WXP_PROCESS_STREAM_STDERR ($ zelf, \ evt_process_stderr); EVT_WXP_PROCESS_STREAM_EXIT ($ zelf, \ evt_process_exit); EVT_WXP_PROCESS_STREAM_MAXLINES ($ zelf, \ evt_process_maxlines); mijn $ PROC1 = Wx :: Perl :: ProcessStream :: Proces-> new ( 'perl -e "print qq ($ _ \ n) voor (@INC);"', 'MyName1', $ zelf); $ Proc1-> Uitvoeren; mijn $ command = 'executable.exe parm1 parm2 parm3' my $ PROC2 = Wx :: Perl :: ProcessStream :: Proces-> new ($ command, 'MyName2', $ zelf) -> Uitvoeren; mijn @args = qw (executable.exe parm1 parm2 parm3); mijn $ PROC3 = Wx :: Perl :: ProcessStream :: Proces-> new (\ @ args, 'MyName2', $ zelf); $ Proc3-> Uitvoeren; mijn $ PROC4 = Wx :: Perl :: ProcessStream :: Proces-> new (\ @ args, 'MyName2', $ zelf, 'readline') -> Uitvoeren; mijn $ PROC5 = Wx :: Perl :: ProcessStream :: Proces-> new (\ @ args, 'MyName2', $ zelf); sub evt_process_stdout {mijn ($ zelf, $ event) = @_; $ Event-> Skip (1); mijn $ proces = $ event-> GetProcess; mijn $ lijn = $ event-> getline; if ($ lijn eq 'iets wat we wachten op') {$ proces-> WriteProcess ( 'een bericht aan stdin'); $ Proces-> CloseInput () if ($ finishedwriting); } ............ # Om Clear Buffer mijn @buffers = @ {$ proces-> GetStdOutBuffer}; } Sub evt_process_stderr {mijn ($ zelf, $ event) = @_; $ Event-> Skip (1); mijn $ proces = $ event-> GetProcess; mijn $ lijn = $ event-> getline; afdrukken STDERR qq ($ regel \ n); # Om Clear Buffer mijn @errors = @ {$ proces-> GetStdErrBuffer}; } Sub evt_process_exit {mijn ($ zelf, $ event) = @_; $ Event-> Skip (1); mijn $ proces = $ event-> GetProcess; mijn $ lijn = $ event-> getline; mijn @buffers = @ {$ proces-> GetStdOutBuffer}; mijn @errors = @ {$ proces-> GetStdErrBuffer}; mijn $ exitCode = $ proces-> GetExitCode; ............ $ proces-> Destroy; } Sub evt_process_maxlines {mijn ($ zelf, $ event) = @_; mijn $ proces = $ event-> GetProcess; ..... slecht proces $ proces-> Kill; } Productomschrijving homepage


WX :: PERL :: ProcessStream Gerelateerde software