Udostępnij za pośrednictwem


Process.Id Właściwość

Definicja

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.

Dotyczy

Zobacz też