Wx :: perl :: processstream

Acceso a IO de procesos externos a través de eventos
Descargar ahora

Wx :: perl :: processstream Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Mark Dootson
  • Sitio web del editor:
  • http://search.cpan.org/~mdootson/

Wx :: perl :: processstream Etiquetas


Wx :: perl :: processstream Descripción

WX :: Perl :: ProcessStream es un módulo PERL que proporciona los códigos STdout, STDERR y SALIR de los procesos de ejecución asíncrona a través de eventos. Puede usarse para procesos de funcionamiento o bloqueo a largo plazo que proporcionen actualizaciones periódicas en el estado a través de STDOUT. Simple IPC es posible a través de STDIN.DO No use este módulo simplemente para recopilar la salida de otro proceso. Para eso, es mucho más sencillo hacer: My ($ status, $ sutwot) = wx :: AutupuestDout ('Perl -e "Imprime QQ ($ _ \ n) para (@inc);"'); sinopsys usa wx :: Perl :: ProcessStream QW (: todo); Evt_wxp_process_stream_stdout ($ yo, \ evt_process_stdout); Evt_wxp_process_stream_stderr ($ self, \ evt_process_stderr); Evt_wxp_process_stream_exit ($ yo, \ evt_process_exit); Evt_wxp_process_stream_maxlines ($ yo, \ evt_process_maxlines); My $ PROC1 = WX :: Perl :: ProcessStream :: Process-> Nuevo ('PERL -E -E "Imprime QQ ($ \ \ n) para (@inc);"', 'myname1', $ yo); $ PROC1-> RUN; My $ command = 'ejecutable.exe parm1 parm2 parm3' My $ PROC2 = WX :: Perl :: ProcessStream :: Process-> Nuevo ($ Comando, 'MyName2', $ Self) -> Ejecute; mi @args = qw (ejecutable.exe parm1 parm2 parm3); My $ PROC3 = WX :: Perl :: ProcessStream :: Process-> Nuevo (\ @ args, 'MyName2', $ Self); $ PROC3-> RUN; My $ PROC4 = WX :: Perl :: ProcessStream :: Process-> Nuevo (\ @ args, 'MyName2', $ Self, 'Readline') -> Ejecutar; My $ PROC5 = WX :: Perl :: ProcessStream :: Process-> Nuevo (\ @ args, 'MyName2', $ Self); Sub EVT_PROCESS_STDOUT {MY ($ Self, $ evento) = @_; $ event-> omitir (1); My $ proceso = $ event-> GetProcess; My $ line = $ event-> Getline; Si ($ línea EQ 'algo que estamos esperando') {$ Process-> ProcessProcess ('Un mensaje a STDIN'); $ Process-> CloseInput () si ($ Fowerwriting); } ............ # para borrar buffer My @Buffers = @ {$ process-> getstdoutbuffer}; } Sub Evt_Process_Stderr {My ($ Self, $ event) = @_; $ event-> omitir (1); My $ proceso = $ event-> GetProcess; My $ line = $ event-> Getline; Imprimir STVERR QQ ($ LINE \ N); # Para borrar buffer My @Errors = @ {$ process-> getstderrbuffer}; } Sub Evt_Process_Exit {My ($ Self, $ event) = @_; $ event-> omitir (1); My $ proceso = $ event-> GetProcess; My $ line = $ event-> Getline; My @Buffers = @ {$ proceso-> getstdoutbuffer}; mi @errors = @ {$ proceso-> getstderrbuffer}; My $ exitcode = $ proceso-> getExitCode; ............ $ proceso-> destruir; } Sub EVT_PROCESS_MAXLINES {MY ($ Self, $ evento) = @_; My $ proceso = $ event-> GetProcess; ..... mal proceso $ proceso-> matar; Página de inicio del producto


Wx :: perl :: processstream Software relacionado