diff --git a/System/Win32/Process.hsc b/System/Win32/Process.hsc
--- a/System/Win32/Process.hsc
+++ b/System/Win32/Process.hsc
@@ -22,6 +22,7 @@
 import Control.Monad        ( liftM5 )
 import Foreign              ( Ptr, peekByteOff, allocaBytes, pokeByteOff
                             , plusPtr )
+import Foreign.C.Types      ( CUInt(..) )
 import System.Win32.File    ( closeHandle )
 import System.Win32.Types
 
@@ -80,6 +81,15 @@
 
 getCurrentProcess :: IO ProcessHandle
 getCurrentProcess = c_GetCurrentProcess
+
+foreign import WINDOWS_CCONV unsafe "windows.h TerminateProcess"
+    c_TerminateProcess :: ProcessHandle -> CUInt -> IO Bool
+
+terminateProcessById :: ProcessId -> IO ()
+terminateProcessById p = bracket
+    (openProcess pROCESS_TERMINATE False p)
+    closeHandle
+    (\h -> failIfFalse_ "TerminateProcess" $ c_TerminateProcess h 1)
 
 type Th32SnapHandle = HANDLE
 type Th32SnapFlags = DWORD
diff --git a/Win32.cabal b/Win32.cabal
--- a/Win32.cabal
+++ b/Win32.cabal
@@ -1,5 +1,5 @@
 name:		Win32
-version:	2.6.0.0
+version:	2.6.1.0
 license:	BSD3
 license-file:	LICENSE
 author:		Alastair Reid, shelarcy, Tamar Christina
diff --git a/changelog.md b/changelog.md
--- a/changelog.md
+++ b/changelog.md
@@ -1,5 +1,9 @@
 # Changelog for [`Win32` package](http://hackage.haskell.org/package/Win32)
 
+## 2.6.1.0 *November 2017*
+
+* Add `terminateProcessById` (See #91)
+
 ## 2.6.0.0 *September 2017*
 
 * Make cabal error out on compilation on non-Windows OSes. (See #80)
