Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
La Clase Process
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje La Clase Process 
 
Para trabajar con procesos disponemos de la clase process.

Para lanzar un proceso disponemos de los siguientes comandos:

exec
Ejecuta un proceso
proceso=exec comando [wait] as ManejadorEventos

Si se utiliza WAIT entonces se espera a que el proceso termine para continuar con la ejecución. Si no se pone el proceso es ejecutado en segundo plano. En cualquier caso devuelve el objeto proceso correspondiente.

proceso=exec comando [wait] [for read/write]

Si se añade este operador el proceso se redirigen las entradas/salidas del proceso mediante un flujo que nosotros administramos mediante print o write para enviar entrada al proceso. Para leer la salida del proceso se ejecuta el evento READ del flujo
Dim Proc as process
Proc=exec "comando" for write
print #Proc "entrada de datos al proceso"

Dim Proc as process

Public Sub Proc_Read()
...
end


Hay dos sinónimos de READ y WRITE llamados INPUT y OUTPUT que no son exactamente sinónimos pues cuando se usan el proceso cree estar siendo ejecutado en una terminal.

No se como ni de que manera pero se que también hay una palabra clave TO que sirve para asignar la salida del proceso a una variable.

shell
Funciona exactamente igual salvo que el proceso se ejecuta en la shell del sistema. No podemos cambiar la shell, se usa la shell por defecto.

El objeto Process
Tiene las siguiente propiedades
handle ---> el pid del proceso
state ---> puede valer running, stopped o crashed

Tiene los siguientes métodos
kill --> destruye el objeto
wait ---> Igual que la claúsula wait de exec o shell. Si se pone el proceso se ejecuta en primer plano y la aplicación espera a que termine. Si no se pone el proceso se ejecuta en segundo plano.

Tiene los siguientes eventos
read ---> se ejecuta cuando el proceso genera datos por la salida estandar (o la que hubiera sido redireccionada con for)
kill ---> se ejecuta cuando el objeto se destruye

Hasta donde yo veo gambas solo puede administrar los procesos que él mismo ha creado. Sería muy de agradecer alguna aportación que modificara esto aunque no veo como.
 



 
soplo - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: La Clase Process 
 
Un ejemplo del TO, sería por ejemplo si quisieras ejecutar lspci para ver el hardware del PC y mostrarlo en una lista. En ese caso harías algo así:


EXEC ["lspci"] TO variable



o con SHEL



comando="lspci"
SHELL comando TO variable

 



 
última edición por h4k el Viernes, 19 Febrero 2010, 06:27; editado 1 vez 
h4k - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Módulo Y Clase tonixs Controles/Librerías/Componentes 4 Martes, 29 May 2012, 08:37 Ver último mensaje
Shell
No hay nuevos mensajes Ejemplo De Clase Publica Y Clase Privada Shell Aplicaciones/Fragmentos de Código 2 Martes, 28 May 2013, 11:41 Ver último mensaje
shordi
No hay nuevos mensajes ¿ Es La Clase Padre Una Clase Abstracta ? Shell General 3 Viernes, 04 Julio 2014, 08:58 Ver último mensaje
jsbsan
No hay nuevos mensajes Clase Audio Y Clase Configuracion De Audio... v3ctor Aplicaciones/Fragmentos de Código 3 Jueves, 08 Octobre 2015, 08:35 Ver último mensaje
jsbsan
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron