Share via

AppDomain.ProcessExit Event


Occurs when the default application domain's parent process exits.

 event EventHandler ^ ProcessExit;
 virtual event EventHandler ^ ProcessExit;
public event EventHandler? ProcessExit;
public event EventHandler ProcessExit;
member this.ProcessExit : EventHandler 
Public Custom Event ProcessExit As EventHandler 

Event Type



The EventHandler for this event can perform termination activities, such as closing files, releasing storage and so on, before the process ends.

Beginning with the .NET Framework version 2.0, this event is raised in each application domain that registers an event handler.


In .NET Framework, the total execution time of all ProcessExit event handlers is limited, just as the total execution time of all finalizers is limited at process shutdown. The default is two seconds. An unmanaged host can change this execution time by calling the ICLRPolicyManager::SetTimeout method with the OPR_ProcessExit enumeration value. This time limit does not exist in .NET Core.

In the .NET Framework versions 1.0 and 1.1, this event is raised only in the default application domain, and only if an event handler is registered in the default application domain.

To register an event handler for this event, you must have the required permissions, or a SecurityException is thrown.

For more information about handling events, see Handling and Raising Events.

Applies to