En Java, utilizar Runtime.getRuntime().exec() para ejecutar un comando permite capturar el proceso flujos de salida y de error. Sin embargo, en los casos en los que se desea redirigir la salida, este método por sí solo puede resultar ineficaz.
Cuando se emplea Runtime.getRuntime().exec() con comandos que función de redirección de salida, como
Para redirigir correctamente la salida, considere utilizar ProcessBuilder en su lugar. Esta clase ofrece un enfoque más granular para la creación de procesos, permitiendo la especificación de la salida y la redirección del flujo de errores.
A continuación se explica cómo usar ProcessBuilder para la redirección de salida:
ProcessBuilder builder = new ProcessBuilder("sh", "somescript.sh");
builder.redirectOutput(new File("out.txt"));
builder.redirectError(new File("out.txt"));
Process p = builder.start(); // may throw IOException
Al utilizar ProcessBuilder, puede redirigir tanto la salida estándar como los flujos de error estándar al archivo deseado, asegurando que se capture la salida del comando.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3