كيفية تنفيذ أمر خارجي (تشغيل عملية) من كود Kotlin؟
مرحباً بالجميع! لقد بدأت للتو في تعلم Kotlin وأكتب تطبيقاً صغيراً لوحدة التحكم. أحتاج إلى تنفيذ أمر خارجي، مثل تشغيل ping أو نسخ ملف باستخدام cp. في Java كنت أستخدم Runtime.getRuntime().exec()، لكن في Kotlin أرى أن هناك بعض الدوال المدمجة مثل ProcessBuilder، لكنني لا أفهم تماماً كيفية استخدامها.
حاولت كتابة هذا الكود:
```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)
}
}
```
لكنه يطبع السطر الأول فقط ويتجمد. هل أفعل شيئاً خاطئاً؟ بالإضافة إلى ذلك، سمعت أنه في Kotlin