Contenidos
Padre (envía información al proceso hijo y recibe la respuesta del hijo)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | import java.io.BufferedReader import java.io.InputStreamReader import java.io.OutputStreamWriter fun main() { // Crear el proceso hijo, ruta para IntelliJ val processBuilder = ProcessBuilder("java", "-cp", "/Users/lamac/IdeaProjects/Procesos/out/production/Procesos", "HijoKt") // Cambiar "ChildProcess" por el nombre de la clase principal del proceso hijo val childProcess = processBuilder.start() val outputWriter = OutputStreamWriter(childProcess.outputStream) val childMessage = "Hola desde el proceso padre!" outputWriter.write("$childMessage\n") outputWriter.flush() // Leer la salida del proceso hijo val inputStream = childProcess.inputStream val reader = BufferedReader(InputStreamReader(inputStream)) val outputMessage = reader.readLine() println("Mensaje recibido del proceso hijo: $outputMessage") } |
Hijo (el hijo recibe el mensaje del padre y responde al padre)
1 2 3 4 5 6 7 8 9 10 11 12 13 | import java.io.BufferedReader import java.io.InputStreamReader import java.io.OutputStreamWriter fun main() { val inputReader = BufferedReader(InputStreamReader(System.`in`)) val outputWriter = OutputStreamWriter(System.out) val parentMessage = inputReader.readLine() outputWriter.write("$parentMessage"+"SOY HIJO\n") outputWriter.flush() } |