Process.UserProcessorTime Property
Gets the user processor time for this process.
Assembly: System (in System.dll)
| Exception | Condition |
|---|---|
| PlatformNotSupportedException | The platform is Windows 98 or Windows Millennium Edition (Windows Me), which does not support this property. |
| NotSupportedException | You are attempting to access the UserProcessorTime property for a process that is running on a remote computer. This property is available only for processes that are running on the local computer. |
The following example starts an instance of Notepad. The example then retrieves and displays various properties of the associated process. The example detects when the process exits, and displays the process's exit code.
using System; using System.Diagnostics; namespace ProcessSample { class ProcessMonitorSample { public static void Main() { // Define variables to track the peak // memory usage of the process. long peakPagedMem = 0, peakWorkingSet = 0, peakVirtualMem = 0; Process myProcess = null; try { // Start the process. myProcess = Process.Start("NotePad.exe"); // Display the process statistics until // the user closes the program. do { if (!myProcess.HasExited) { // Refresh the current process property values. myProcess.Refresh(); Console.WriteLine(); // Display current process statistics. Console.WriteLine("{0} -", myProcess.ToString()); Console.WriteLine("-------------------------------------"); Console.WriteLine(" physical memory usage: {0}", myProcess.WorkingSet64); Console.WriteLine(" base priority: {0}", myProcess.BasePriority); Console.WriteLine(" priority class: {0}", myProcess.PriorityClass); Console.WriteLine(" user processor time: {0}", myProcess.UserProcessorTime); Console.WriteLine(" privileged processor time: {0}", myProcess.PrivilegedProcessorTime); Console.WriteLine(" total processor time: {0}", myProcess.TotalProcessorTime); Console.WriteLine(" PagedSystemMemorySize64: {0}", myProcess.PagedSystemMemorySize64); Console.WriteLine(" PagedMemorySize64: {0}", myProcess.PagedMemorySize64); // Update the values for the overall peak memory statistics. peakPagedMem = myProcess.PeakPagedMemorySize64; peakVirtualMem = myProcess.PeakVirtualMemorySize64; peakWorkingSet = myProcess.PeakWorkingSet64; if (myProcess.Responding) { Console.WriteLine("Status = Running"); } else { Console.WriteLine("Status = Not Responding"); } } } while (!myProcess.WaitForExit(1000)); Console.WriteLine(); Console.WriteLine("Process exit code: {0}", myProcess.ExitCode); // Display peak memory statistics for the process. Console.WriteLine("Peak physical memory usage of the process: {0}", peakWorkingSet); Console.WriteLine("Peak paged memory usage of the process: {0}", peakPagedMem); Console.WriteLine("Peak virtual memory usage of the process: {0}", peakVirtualMem); } finally { if (myProcess != null) { myProcess.Close(); } } } } }
- LinkDemand
for full trust for the immediate caller. This member cannot be used by partially trusted code.
Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.