function terminates the specified process and all of its threads.
| HANDLE hProcess,
||// handle to the process
| UINT uExitCode
||// exit code for the process
Identifies the process to terminate.
The handle must have PROCESS_TERMINATE access. For more information, see Process Objects
Specifies the exit code for the process and for all threads terminated as a
result of this call. Use the GetExitCodeProcess
function to retrieve the process's exit value. Use the GetExitCodeThread
function to retrieve a thread's exit value.
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error
information, call GetLastError
function is used to unconditionally cause a process to exit. Use it only in
extreme circumstances. The state of global data maintained by dynamic-link
libraries (DLLs) may be compromised if TerminateProcess
is used rather than ExitProcess
causes all threads within a process to terminate, and causes a process to
exit, but DLLs attached to the process are not notified that the process is
Terminating a process causes the following:
- All of the object handles opened by the process are closed.
- All of the threads in the process terminate their execution.
- The state of the process object becomes signaled, satisfying any threads that
had been waiting for the process to terminate.
- The states of all threads of the process become signaled, satisfying any
threads that had been waiting for the threads to terminate.
- The termination status of the process changes from STILL_ACTIVE to the exit
value of the process.
Terminating a process does not cause child processes to be terminated.
Terminating a process does not necessarily remove the process object from the
system. A process object is deleted when the last handle to the process is
- Software for developers
Software for Android Developers
- More information resources
Unix Manual Pages
- Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database