Process.TotalProcessorTime Property
Gets the total processor time for this process.
[Visual Basic] Public ReadOnly Property TotalProcessorTime As TimeSpan [C#] public TimeSpan TotalProcessorTime {get;} [C++] public: __property TimeSpan get_TotalProcessorTime(); [JScript] public function get TotalProcessorTime() : TimeSpan;
Property Value
A TimeSpan that indicates the amount of time that the associated process has spent utilizing the CPU. This value is the sum of the UserProcessorTime and the PrivilegedProcessorTime.
Exceptions
| Exception Type | Condition |
|---|---|
| PlatformNotSupportedException | You are accessing this member using Windows 98. |
Example
[Visual Basic, C#, C++] 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.
[Visual Basic] Imports System Imports System.Diagnostics Imports System.Threading Namespace Process_Sample Class MyProcessClass Public Shared Sub Main() Try Dim myProcess As Process myProcess = Process.Start("NotePad.exe") While Not myProcess.HasExited Console.WriteLine() ' Get physical memory usage of the associated process. Console.WriteLine("Process's physical memory usage: " + _ myProcess.WorkingSet.ToString) ' Get base priority of the associated process. Console.WriteLine("Base priority of the associated process: " + _ myProcess.BasePriority.ToString) ' Get priority class of the associated process. Console.WriteLine("Priority class of the associated process: " + _ myProcess.PriorityClass.ToString) ' Get user processor time for this process. Console.WriteLine("User Processor Time: " + _ myProcess.UserProcessorTime.ToString) ' Get privileged processor time for this process. Console.WriteLine("Privileged Processor Time: " + _ myProcess.PrivilegedProcessorTime.ToString) ' Get total processor time for this process. Console.WriteLine("Total Processor Time: " + _ myProcess.TotalProcessorTime.ToString) ' Invoke overloaded ToString function. Console.WriteLine("Process's Name: " + myProcess.ToString) Console.WriteLine("-------------------------------------") If myProcess.Responding Then Console.WriteLine("Status: Responding to user interface") myProcess.Refresh() Else Console.WriteLine("Status: Not Responding") End If Thread.Sleep(1000) End While Console.WriteLine() Console.WriteLine("Process exit code: {0}", myProcess.ExitCode) Catch e As Exception Console.WriteLine("The following exception was raised: " + e.Message) End Try End Sub 'Main End Class 'MyProcessClass End Namespace 'Process_Sample [C#] using System; using System.Diagnostics; using System.Threading; namespace Process_Sample { class MyProcessClass { public static void Main() { try { Process myProcess; myProcess = Process.Start("NotePad.exe"); while(!myProcess.HasExited) { Console.WriteLine(); // Get physical memory usage of the associated process. Console.WriteLine("Process's physical memory usage: " + myProcess.WorkingSet); // Get base priority of the associated process. Console.WriteLine("Base priority of the associated process: " + myProcess.BasePriority); // Get priority class of the associated process. Console.WriteLine("Priority class of the associated process: " + myProcess.PriorityClass); // Get user processor time for this process. Console.WriteLine("User Processor Time: " + myProcess.UserProcessorTime); // Get privileged processor time for this process. Console.WriteLine("Privileged Processor Time: " + myProcess.PrivilegedProcessorTime); // Get total processor time for this process. Console.WriteLine("Total Processor Time: " + myProcess.TotalProcessorTime); // Invoke overloaded ToString function. Console.WriteLine("Process's Name: " + myProcess.ToString()); Console.WriteLine("-------------------------------------"); if(myProcess.Responding) { Console.WriteLine("Status: Responding to user interface"); myProcess.Refresh(); } else { Console.WriteLine("Status: Not Responding"); } Thread.Sleep(1000); } Console.WriteLine(); Console.WriteLine("Process exit code: {0}", myProcess.ExitCode); } catch(Exception e) { Console.WriteLine("The following exception was raised: " + e.Message); } } } } [C++] #using <mscorlib.dll> #using <System.dll> using namespace System; using namespace System::Diagnostics; using namespace System::Threading; int main() { try { Process* myProcess; myProcess = Process::Start(S"NotePad.exe"); while(!myProcess->HasExited) { Console::WriteLine(); // Get physical memory usage of the associated process. Console::WriteLine(S"Process's physical memory usage: {0}", myProcess->WorkingSet.ToString()); // Get base priority of the associated process. Console::WriteLine(S"Base priority of the associated process: {0}", myProcess->BasePriority.ToString()); // Get priority class of the associated process. Console::WriteLine("Priority class of the associated process: {0}", __box(myProcess->PriorityClass)); // Get user processor time for this process. Console::WriteLine(S"User Processor Time: {0}", myProcess->UserProcessorTime.ToString()); // Get privileged processor time for this process. Console::WriteLine(S"Privileged Processor Time: {0}", myProcess->PrivilegedProcessorTime.ToString()); // Get total processor time for this process. Console::WriteLine(S"Total Processor Time: {0}", myProcess->TotalProcessorTime.ToString()); // Invoke overloaded ToString function. Console::WriteLine(S"Process's Name: {0}", myProcess->ToString()); Console::WriteLine(S"-------------------------------------"); if (myProcess->Responding) { Console::WriteLine(S"Status: Responding to user interface"); myProcess->Refresh(); } else { Console::WriteLine(S"Status: Not Responding"); } Thread::Sleep(1000); } Console::WriteLine(); Console::WriteLine("Process exit code: {0}", myProcess->ExitCode.ToString()); } catch (Exception* e) { Console::WriteLine(S"The following exception was raised: {0}", e->Message); } }
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows NT Server 4.0, Windows NT Workstation 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
.NET Framework Security:
- SecurityPermission for calling any members of System.Diagnostic.Process with full trust. Associated enumeration: PermissionState.Unrestricted
See Also
Process Class | Process Members | System.Diagnostics Namespace | UserProcessorTime | PrivilegedProcessorTime