Avatar ·

Como executar um comando externo (iniciar um processo) a partir do código Kotlin?

Olá a todos! Comecei a estudar Kotlin recentemente e estou escrevendo um pequeno aplicativo de console. Preciso executar um comando externo, por exemplo, iniciar ping ou copiar um arquivo usando cp. Em Java, eu usava Runtime.getRuntime().exec(), mas no Kotlin vejo que existem algumas funções embutidas como ProcessBuilder, mas não entendo completamente como usá-las. Tentei escrever 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) } } ``` Mas ele imprime apenas a primeira linha e trava. Estou fazendo algo errado? Além disso, ouvi dizer que no Kotlin existe uma maneira mais idiomática do que usar classes Java. Digam-me como chamar comandos externos corretamente? Preciso não apenas executar, mas também ler a saída e lidar com possíveis er