runProcs :: [ProcCommand] -> ProcessM ()
runProcs tr = do
   forM_ tr$ \(pids,c) -> do
                ps <- forM pids$ \pid -> do
                        p <- getProc pid
                        sendCommand' c p
                        return (p,pid)
                forM_ ps$ uncurry readResponses 

   fmap fst get >>= \ps -> forM_ [0..length ps-1]$ sendCommand Quit
runProcs :: [ProcCommand] -> ProcessM ()
runProcs tr = do
   forM_ tr$ \(pids,c) -> do
                ps <- forM pids$ \pid -> do
                        p <- getProc pid
                        sendCommand' c p
                        return (p,pid)
                forM_ ps$ uncurry readResponses 

   fmap fst get >>= \ps -> forM_ [0..length ps-1]$ sendCommand Quit
runProcs tr = do
   forM_ tr$ \(pids,c) -> do
                ps <- forM pids$ \pid -> do
                        p <- getProc pid
                        sendCommand' c p
                        return (p,pid)
                forM_ ps$ uncurry readResponses 

   fmap fst get >>= \ps -> forM_ [0..length ps-1]$ sendCommand Quit