module Stop where import Directory import System.Process import Control.Applicative import Utils stop :: [String] -> IO () stop _ = inKibro $ \dir name -> do stopFastCGI dir name stopLighty dir name -- TODO: abstract this stopLighty dir name = do exists <- doesFileExist pid if exists then do doing "Stopping lighttpd" id <- readFile pid -- TODO: make this compatible with windows runCommand $ "kill " ++ id return () else return () where pid = dir ./. "app" ./. "lighttpd" ./. "lighttpd.pid" stopFastCGI dir name = do exists <- doesFileExist pid if exists then do doing "Stopping fastcgi" id <- readFile pid -- TODO: make this compatible with windows runCommand $ "kill " ++ id deleteFile pid return () else return () where pid = dir ./. "app" ./. "fastcgi" ./. "fastcgi.pid"