package Ġcom . github . ker ub istan . ker ub . utils . j unix . iostat Ċ Ċ import Ġcom . github . ker ub istan . ker ub . host . process Ċ import Ġcom . github . ker ub istan . ker ub . model . Software Package Ċ import Ġcom . github . ker ub istan . ker ub . utils . j unix . common . Cent os Ċ import Ġcom . github . ker ub istan . ker ub . utils . j unix . common . Deb ian Ċ import Ġcom . github . ker ub istan . ker ub . utils . j unix . common . Fed ora Ċ import Ġcom . github . ker ub istan . ker ub . utils . j unix . common . Os Command Ċ import Ġcom . github . ker ub istan . ker ub . utils . j unix . common . Ubuntu Ċ import Ġorg . apache . ss hd . client . session . Client Session Ċ Ċ object ĠIO Stat Ġ: ĠOs Command Ġ{ ĊĊ ĉ override Ġfun Ġprovided By (): ĠList < Pair <( Software Package ) Ġ-> ĠBoolean , ĠList < String >>> Ġ= ĠlistOf ( Ċĉĉ ĉ { Ġpack : ĠSoftware Package Ġ-> Ġpack . name Ġin Ġset Of ( Cent os , ĠFed ora , ĠUbuntu , ĠDebian ) Ġ} Ġto ĠlistOf (" sys stat ") Ċ ĉ ) ĊĊ ĉ fun Ġmonitor ( session : ĠClient Session , Ġlistener : Ġ( List < IO Stat Event >) Ġ-> ĠUnit ) Ġ{ Ċĉ ĉ session . process (" iostat Ġ Ġ- j ĠID Ġ- x Ġ- d Ġ 1 ", Ġoutput Ġ= ĠIO Stat OutputStream ( listener )) Ċ ĉ } Ċ Ċ }