Process.Kill Method

Definition

Force l’arrêt du processus sous-jacent.Forces termination of the underlying process.

Overloads

Kill()

Arrête immédiatement le processus associé.Immediately stops the associated process.

Kill(Boolean)

Arrête immédiatement le processus associé et éventuellement ses processus enfants/descendants.Immediately stops the associated process, and optionally its child/descendent processes.

Remarks

La méthode Kill force l’arrêt du processus, tandis que CloseMainWindow ne demande qu’un arrêt.The Kill method forces a termination of the process, while CloseMainWindow only requests a termination. Lorsqu’un processus avec une interface graphique est en cours d’exécution, sa boucle de messages est en état d’attente.When a process with a graphical interface is executing, its message loop is in a wait state. La boucle de message s’exécute chaque fois qu’un message Windows est envoyé au processus par le système d’exploitation.The message loop executes every time a Windows message is sent to the process by the operating system. L’appel de CloseMainWindow envoie une requête pour fermer la fenêtre principale, qui, dans une application correcte, ferme les fenêtres enfants et révoque toutes les boucles de messages en cours d’exécution pour l’application.Calling CloseMainWindow sends a request to close the main window, which, in a well-formed application, closes child windows and revokes all running message loops for the application. La demande de quitter le processus en appelant CloseMainWindow ne force pas la fermeture de l’application.The request to exit the process by calling CloseMainWindow does not force the application to quit. L’application peut demander la vérification de l’utilisateur avant de se fermer, ou refuser de s’arrêter.The application can ask for user verification before quitting, or it can refuse to quit. Pour forcer l’application à se fermer, utilisez la méthode Kill.To force the application to quit, use the Kill method.

Le comportement de CloseMainWindow est identique à celui d’un utilisateur fermant la fenêtre principale d’une application à l’aide du menu système.The behavior of CloseMainWindow is identical to that of a user closing an application's main window using the system menu. Par conséquent, la demande de quitter le processus en fermant la fenêtre principale ne force pas l’application à se fermer immédiatement.Therefore, the request to exit the process by closing the main window does not force the application to quit immediately.

Note

La méthode Kill s’exécute de façon asynchrone.The Kill method executes asynchronously. Après avoir appelé la méthode Kill, appelez la méthode WaitForExit pour attendre la fin du processus, ou vérifiez la propriété HasExited pour déterminer si le processus s’est terminé.After calling the Kill method, call the WaitForExit method to wait for the process to exit, or check the HasExited property to determine if the process has exited.

Note

La méthode WaitForExit et la propriété HasExited ne reflètent pas l’état des processus descendants.The WaitForExit method and the HasExited property do not reflect the status of descendant processes. Lorsque Kill(entireProcessTree: true) est utilisé, WaitForExit et HasExited indiquent que la sortie s’est terminée après la sortie du processus donné, même si tous les descendants n’ont pas encore quitté.When Kill(entireProcessTree: true) is used, WaitForExit and HasExited will indicate that exiting has completed after the given process exits, even if all descendants have not yet exited.

Les données modifiées par le processus ou les ressources allouées au processus peuvent être perdues si vous appelez Kill.Data edited by the process or resources allocated to the process can be lost if you call Kill. Kill provoque un arrêt anormal du processus et doit être utilisé uniquement lorsque cela est nécessaire.Kill causes an abnormal process termination and should be used only when necessary. CloseMainWindow permet un arrêt ordonné du processus et ferme toutes les fenêtres, il est préférable pour les applications avec une interface.CloseMainWindow enables an orderly termination of the process and closes all windows, so it is preferable for applications with an interface. Si CloseMainWindow échoue, vous pouvez utiliser Kill pour mettre fin au processus.If CloseMainWindow fails, you can use Kill to terminate the process. Kill est la seule façon de mettre fin à des processus qui n’ont pas d’interface graphique.Kill is the only way to terminate processes that do not have graphical interfaces.

Vous pouvez appeler Kill et CloseMainWindow uniquement pour les processus en cours d’exécution sur l’ordinateur local.You can call Kill and CloseMainWindow only for processes that are running on the local computer. Vous ne pouvez pas provoquer la fermeture des processus sur des ordinateurs distants.You cannot cause processes on remote computers to exit. Vous ne pouvez afficher des informations que pour les processus en cours d’exécution sur des ordinateurs distants.You can only view information for processes running on remote computers.

Note

Si l’appel à la méthode Kill est effectué pendant que le processus est en cours d’arrêt, un Win32Exception est levé pour l’accès refusé.If the call to the Kill method is made while the process is currently terminating, a Win32Exception is thrown for Access Denied.

Kill()

Arrête immédiatement le processus associé.Immediately stops the associated process.

public:
 void Kill();
public void Kill ();
member this.Kill : unit -> unit
Public Sub Kill ()

Exceptions

Le processus associé n’a pas pu être arrêté.The associated process could not be terminated.

- ou --or-

Le processus est en train de se terminer.The process is terminating.

Vous tentez d’appeler Kill() pour un processus en cours d’exécution sur un ordinateur distant.You are attempting to call Kill() for a process that is running on a remote computer. La méthode est disponible uniquement pour les processus en cours d’exécution sur l’ordinateur local.The method is available only for processes running on the local computer.

Le processus est déjà terminé.The process has already exited.

- ou --or- Aucun processus n’est associé à cet objet Process.There is no process associated with this Process object.

See also

Kill(Boolean)

Arrête immédiatement le processus associé et éventuellement ses processus enfants/descendants.Immediately stops the associated process, and optionally its child/descendent processes.

public:
 void Kill(bool entireProcessTree);
public void Kill (bool entireProcessTree);
member this.Kill : bool -> unit
Public Sub Kill (entireProcessTree As Boolean)

Parameters

entireProcessTree
Boolean

true pour tuer le processus associé et ses descendants ; false pour tuer uniquement le processus associé.true to kill the associated process and its descendants; false to kill only the associated process.

Exceptions

Le processus associé n’a pas pu être arrêté.The associated process could not be terminated.

- ou --or-

Le processus est en train de se terminer.The process is terminating.

Vous tentez d’appeler Kill() pour un processus en cours d’exécution sur un ordinateur distant.You are attempting to call Kill() for a process that is running on a remote computer. La méthode est disponible uniquement pour les processus en cours d’exécution sur l’ordinateur local.The method is available only for processes running on the local computer.

Le processus est déjà terminé.The process has already exited.

- ou --or-

Aucun processus n’est associé à cet objet Process .There is no process associated with this Process object.

- ou --or-

Le processus appelant est un membre de l’arborescence descendante du processus associé.The calling process is a member of the associated process' descendant tree.

Les processus de l’arborescence descendante du processus associé n’ont pas tous pu être arrêtés.Not all processes in the associated process' descendant tree could be terminated.

Remarks

Lorsque entireProcessTree est défini sur true, les processus où l’appel ne dispose pas des autorisations pour afficher les détails sont ignorés en mode silencieux par le processus d’arrêt du descendant, car le processus d’arrêt ne peut pas déterminer si ces processus sont des descendants.When entireProcessTree is set to true, processes where the call lacks permissions to view details are silently skipped by the descendant termination process because the termination process is unable to determine whether those processes are descendants.

See also

Applies to