- import Control.Concurrent
- import Control.Monad
- import System.Posix
- import System.Exit
- main = do
- installHandler sigINT (Catch $ do putStrLn "signal caught" >> exitSuccess) Nothing
- pid <- forkProcess $
- forever $ return ()
- threadDelay 2000000
- putStrLn "Killing"
- signalProcess sigINT pid
- threadDelay 2000000
- putStrLn "hihi"