Process.Id Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient l'identificateur unique du processus associé.
public:
property int Id { int get(); };
public int Id { get; }
member this.Id : int
Public ReadOnly Property Id As Integer
Valeur de propriété
Identificateur unique généré par le système du processus référencé par cette instance Process.
Exceptions
La propriété Id du processus n’a pas été définie.
- ou -
Aucun processus n’est associé à cet objet Process .
Exemples
L’exemple suivant montre comment obtenir le Id pour toutes les instances en cours d’exécution d’une application. Le code crée une instance du Bloc-notes, répertorie toutes les instances du Bloc-notes, puis permet à l’utilisateur d’entrer le Id numéro pour supprimer un instance spécifique.
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
Remarques
Le processus Id n’est pas valide si le processus associé n’est pas en cours d’exécution. Par conséquent, vous devez vous assurer que le processus est en cours d’exécution avant de tenter de récupérer la Id propriété. Jusqu’à ce que le processus s’arrête, l’identificateur du processus identifie de manière unique le processus dans l’ensemble du système.
Vous pouvez connecter un processus en cours d’exécution sur un ordinateur local ou distant à un nouveau Process instance en passant l’identificateur de processus à la GetProcessById méthode . GetProcessByIdest une static
méthode qui crée un composant et définit automatiquement la Id propriété pour le nouveau Process instance.
Les identificateurs de processus peuvent être réutilisés par le système. La Id valeur de la propriété est unique uniquement pendant l’exécution du processus associé. Une fois le processus terminé, le système peut réutiliser la valeur de propriété Id pour un processus non lié.
Étant donné que l’identificateur est unique sur le système, vous pouvez le transmettre à d’autres threads en guise d’alternative au passage d’un Process instance. Cette action peut économiser des ressources système tout en garantissant que le processus est correctement identifié.