答复: [Haskell-cafe] How to do this in FP way?
Don Stewart
dons at galois.com
Tue Jun 17 11:56:31 EDT 2008
dons:
> magicloud.magiclouds:
> > OK. Here it is.
> > I want to make a monitor tool for linux. It runs for a long time, and give
> > out a certain process's io stat per second. The way I get io stat is to read
> > from /proc/pid/io. But the data in this file is a total, I need to read it
> > first, then next second, read it again, and shows the difference, and go on.
> > So, what is your idea?
>
> Easy,
>
> import Control.Concurrent
> import Control.Monad
>
> main = go 0
> where
> go st = forever $ do
> n <- read `fmap` readFile "/proc/pid/io"
> print (n - st) -- display difference
> threadDelay (10^6)
Oops, not 'forever' :)
go st = do
...
go n
More information about the Haskell-Cafe
mailing list