Process.Id Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft den eindeutigen Bezeichner für den zugeordneten Prozess ab.
public:
property int Id { int get(); };
public int Id { get; }
member this.Id : int
Public ReadOnly Property Id As Integer
Eigenschaftswert
Der vom System generierte eindeutige Bezeichner des Prozesses, auf den von dieser Process-Instanz verwiesen wird.
Ausnahmen
Die Id-Eigenschaft des Prozesses wurde nicht festgelegt.
- oder -
Diesem Process -Objekt ist kein Prozess zugeordnet.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie sie für alle ausgeführten Instanzen einer Anwendung abgerufen Id werden. Der Code erstellt eine neue instance von Editor, listet alle Instanzen von Editor auf und ermöglicht dem Benutzer dann die Eingabe der Id Nummer, um eine bestimmte instance zu entfernen.
using System;
using System.Threading;
using System.Security.Permissions;
using System.Security.Principal;
using System.Diagnostics;
class ProcessDemo
{
public static void Main()
{
Process notePad = Process.Start("notepad");
Console.WriteLine("Started notepad process Id = " + notePad.Id);
Console.WriteLine("All instances of notepad:");
// Get Process objects for all running instances on notepad.
Process[] localByName = Process.GetProcessesByName("notepad");
int i = localByName.Length;
while (i > 0)
{
// You can use the process Id to pass to other applications or to
// reference that particular instance of the application.
Console.WriteLine(localByName[i - 1].Id.ToString());
i -= 1;
}
i = localByName.Length;
while (i > 0)
{
Console.WriteLine("Enter a process Id to kill the process");
string id = Console.ReadLine();
if (string.IsNullOrEmpty(id))
break;
try
{
using (Process chosen = Process.GetProcessById(Int32.Parse(id)))
{
if (chosen.ProcessName == "notepad")
{
chosen.Kill();
chosen.WaitForExit();
}
}
}
catch (Exception e)
{
Console.WriteLine("Incorrect entry.");
continue;
}
i -= 1;
}
}
}
Imports System.Threading
Imports System.Security.Permissions
Imports System.Security.Principal
Imports System.Diagnostics
Class ProcessDemo
Public Shared Sub Main()
Dim notePad As Process = Process.Start("notepad")
Console.WriteLine("Started notepad process Id = " + notePad.Id.ToString())
Console.WriteLine("All instances of notepad:")
' Get Process objects for all running instances on notepad.
Dim localByName As Process() = Process.GetProcessesByName("notepad")
Dim i As Integer = localByName.Length
While i > 0
' You can use the process Id to pass to other applications or to
' reference that particular instance of the application.
Console.WriteLine(localByName((i - 1)).Id.ToString())
i -= 1
End While
i = localByName.Length
While i > 0
Console.WriteLine("Enter a process Id to kill the process")
Dim id As String = Console.ReadLine()
If id = String.Empty Then
Exit While
End If
Try
Using chosen As Process = Process.GetProcessById(Int32.Parse(id))
If chosen.ProcessName = "notepad" Then
chosen.Kill()
chosen.WaitForExit()
End If
End Using
Catch e As Exception
Console.WriteLine("Incorrect entry.")
GoTo ContinueWhile1
End Try
i -= 1
ContinueWhile1:
End While
End Sub
End Class
Hinweise
Der Prozess Id ist ungültig, wenn der zugeordnete Prozess nicht ausgeführt wird. Daher sollten Sie sicherstellen, dass der Prozess ausgeführt wird, bevor Sie versuchen, die Id Eigenschaft abzurufen. Bis der Prozess beendet wird, identifiziert der Prozessbezeichner den Prozess im gesamten System eindeutig.
Sie können einen Prozess, der auf einem lokalen Oder Remotecomputer ausgeführt wird, mit einem neuen Process instance verbinden, indem Sie den Prozessbezeichner an die GetProcessById -Methode übergeben. GetProcessByIdist eine static
Methode, die eine neue Komponente erstellt und die Id -Eigenschaft für die neue Process instance automatisch festlegt.
Prozessbezeichner können vom System wiederverwendet werden. Der Id Eigenschaftswert ist nur während der Ausführung des zugeordneten Prozesses eindeutig. Nachdem der Prozess beendet wurde, kann das System den Id Eigenschaftswert für einen nicht verknüpften Prozess wiederverwenden.
Da der Bezeichner im System eindeutig ist, können Sie ihn alternativ zum Übergeben eines Process instance an andere Threads übergeben. Durch diese Aktion können Systemressourcen gespeichert werden, und es wird sichergestellt, dass der Prozess korrekt identifiziert wird.