Wx :: perl :: processstreamAcceso a IO de procesos externos a través de eventos | |
Descargar ahora |
Wx :: perl :: processstream Clasificación y resumen
Anuncio publicitario
- 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
Perinci :: BashComplete
Rutinas de finalización de Bash para la función y la función ARGUMENTO sobre RIAP ...
92