Cómo ejecutar un comando externo (iniciar un proceso) desde código Kotlin?
¡Hola a todos! Acabo de empezar a aprender Kotlin y estoy escribiendo una pequeña aplicación de consola. Necesito ejecutar un comando externo, por ejemplo, ejecutar ping o copiar un archivo con cp. En Java usaba Runtime.getRuntime().exec(), pero en Kotlin veo que hay algunas funciones integradas como ProcessBuilder, pero no termino de entender cómo usarlas.
Probé escribir este código:
```kotlin
fun main() {
val command = "ping -c 4 google.com"
val process = Runtime.getRuntime().exec(command)
val reader = BufferedReader(InputStreamReader(process.inputStream))
var line: String?
while (reader.readLine().also { line = it } != null) {
println(line)
}
}
```
Pero solo imprime la primera línea y se cuelga. ¿Estoy haciendo algo mal? Además, escuché que en Kotlin hay una forma más idiomática que usar clases de Java. ¿Podrían indicarme cómo llamar correctamente a comandos externos? Necesito no solo ejecutar, sino también leer la salida y manejar posibles errores.