01 - Creación de Procesos en Java 1
01 - Creación de Procesos en Java 1
multiproceso
Creación de procesos en
Java 1
Process y Runtime
Java dispone de varias clases para la gestión
de procesos.
Cada aplicación dispone de una instancia
Runtime que representa entorno de la
aplicación. Clase Runtime
Aplicación
try{
Ejecuto comando
p=r.exec(comando);
} catch(Exception e) {
System.out.println ("Error en "+comando); compilo y ejecuto
e.printStackTrace();
}
}
}//Ejemplo1
Ejemplo: ejecutar notepad
¿Qué ocurre con comandos Windows o Linux
no tienen ejecutable?
→ Utilizamos cmd /c dir(windows) o ls(linux)
windows →
modifico en Ejemplo1 string comando=”CMD /C /DIR”
No obtengo salida
¿POR QUÉ?
Clase Process
Para leer salida necesitamos usar el objeto
process, que se obtenia de esta forma
Clase Process
Clase process posee el método
getInputStream() que nos permite leer el
stream de salida del proceso, es decir lo que el
comando escribió en la consola de salida.
Vamos a verlo como se implementaria →
Process . Guardar stream salida
p=r.exec(comando); ejecuto comando
Compilamos y ejecutamos
No genera fichero salida
¿Por qué ?
Process. FileOutPutStream y PrintWriter
Código 1/3
Ejemplo3. FileOutputStream y PrintWriter
Código 2/3
creo objeto
fileoutputstream y
printwriter
imprimo en
fichero
Ejemplo3. FileOutputStream y PrintWriter
Código 3/3
Ejemplo3. FileOutputStream y PrintWriter
Actividad tasklist
Realiza un programa que genere proceso que guarda en
un fichero de nombre procesos.txt. información de los
procesos en ejecución
os.write("simarro123\n".getBytes());
try{ os.flush(); //vacio buffer
p=r.exec(comando);
//escritura - envio entrada os.write("simarro123\n".getBytes());
OutputStream os=p.getOutputStream(); os.flush(); //vacio buffer
os.write("david123\n".getBytes());
os.flush(); //vacio buffer
Ejemplo5. Ejecución
Process. getOutputStream
Realizamos programa Java lea una cadena de
la entrada estándar EjemploLectura.java
Process. getOutputStream
Utilizando el método getOutputStream()
podemos enviar datos a la entrada estándar
EjemploLectura.
Actividad Ejemplo6
Realiza modificaciones en Ejemplo5 para que
realice lo anterior y le pase la cadena “Hola
mundo”. Guarda como Ejemplo6.java
La salida del programa debe ser