Process.Id Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera unikatowy identyfikator skojarzonego procesu.
public:
property int Id { int get(); };
public int Id { get; }
member this.Id : int
Public ReadOnly Property Id As Integer
Wartość właściwości
Wygenerowany przez system unikatowy identyfikator procesu, do którego odwołuje się to Process wystąpienie.
Wyjątki
Właściwość procesu nie została ustawiona Id .
-lub-
Brak procesu skojarzonego z tym Process obiektem.
Przykłady
W poniższym przykładzie pokazano, jak uzyskać Id dla wszystkich uruchomionych wystąpień aplikacji. Kod tworzy nowe wystąpienie Notatnika, wyświetla listę wszystkich wystąpień Notatnika, a następnie umożliwia użytkownikowi wprowadzenie Id numeru w celu usunięcia określonego wystąpienia.
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
Uwagi
Id Proces jest nieprawidłowy, jeśli skojarzony proces nie jest uruchomiony. Dlatego przed podjęciem próby pobrania Id właściwości należy upewnić się, że proces jest uruchomiony. Do momentu zakończenia procesu identyfikator procesu jednoznacznie identyfikuje proces w całym systemie.
Możesz połączyć proces uruchomiony na komputerze lokalnym lub zdalnym z nowym Process wystąpieniem, przekazując identyfikator procesu do GetProcessById metody. GetProcessByIdstatic
to metoda, która tworzy nowy składnik i ustawia Id właściwość dla nowego Process wystąpienia automatycznie.
Identyfikatory procesów mogą być ponownie używane przez system. Wartość Id właściwości jest unikatowa tylko wtedy, gdy skojarzony proces jest uruchomiony. Po zakończeniu procesu system może ponownie użyć Id wartości właściwości dla niepowiązanego procesu.
Ponieważ identyfikator jest unikatowy w systemie, można przekazać go do innych wątków jako alternatywę dla przekazywania Process wystąpienia. Ta akcja może jeszcze zaoszczędzić zasoby systemowe, aby zagwarantować, że proces został poprawnie zidentyfikowany.