1
我想寫基本上運行一個命令,一些科特林代碼:我將如何編寫遍歷子流程並處理其輸出的慣用kotlin代碼?
Runtime.getRuntime().exec("mycommand.sh")
但是,在這種情況下mycommand.sh
永遠不會退出。它將零星地輸出我想要處理的文本。假設輸出是這樣的:
FOOBAR 1234
BARFOO 54657
ETCETC 9876
假設第一行進入5秒,然後第二行進入10秒,第三行進入15秒。
我該如何編寫接收每行的代碼,並處理它? 例如,也許我想提取所有大寫的單詞,並提取後面的數字,然後將這兩段文本存儲爲散列映射中的鍵值。
作爲獎勵,我很想知道如何從kotlin程序中終止子進程(signal with SIGINT?)。