Compartir por


Process.Kill Método

Definición

Fuerza la finalización del proceso subyacente.

Sobrecargas

Nombre Description
Kill()

Detiene inmediatamente el proceso asociado.

Kill(Boolean)

Detiene inmediatamente el proceso asociado y, opcionalmente, sus procesos secundarios o descendientes.

Comentarios

El Kill método fuerza una finalización del proceso, mientras que CloseMainWindow solo solicita una terminación. Cuando se ejecuta un proceso con una interfaz gráfica, su bucle de mensajes está en estado de espera. El bucle de mensajes se ejecuta cada vez que el sistema operativo envía un mensaje de Windows al proceso. La llamada CloseMainWindow a envía una solicitud para cerrar la ventana principal, que, en una aplicación bien formada, cierra las ventanas secundarias y revoca todos los bucles de mensajes en ejecución para la aplicación. La solicitud para salir del proceso mediante una llamada CloseMainWindow a no obliga a la aplicación a salir. La aplicación puede solicitar la comprobación del usuario antes de salir o rechazar la salida. Para forzar la salida de la aplicación, use el Kill método .

El comportamiento de es idéntico al de un usuario que cierra la ventana principal de CloseMainWindow una aplicación mediante el menú del sistema. Por lo tanto, la solicitud para salir del proceso cerrando la ventana principal no obliga a la aplicación a salir inmediatamente.

Nota:

El Kill método se ejecuta de forma asincrónica. Después de llamar al Kill método , llame WaitForExit al método para esperar a que el proceso salga o compruebe la HasExited propiedad para determinar si el proceso ha salido.

Nota:

El WaitForExit método y la HasExited propiedad no reflejan el estado de los procesos descendientes. Cuando Kill(entireProcessTree: true) se usa WaitForExit y HasExited indicará que la salida se ha completado después de que se cierre el proceso especificado, incluso si todos los descendientes aún no han salido.

Los datos editados por el proceso o los recursos asignados al proceso se pueden perder si se llama a Kill. Kill produce una terminación de proceso anómala y solo se debe usar cuando sea necesario. CloseMainWindow habilita una terminación ordenada del proceso y cierra todas las ventanas, por lo que es preferible para las aplicaciones con una interfaz. Si CloseMainWindow se produce un error, puede usar Kill para finalizar el proceso. Kill es la única manera de finalizar los procesos que no tienen interfaces gráficas.

Puede llamar a Kill y CloseMainWindow solo para los procesos que se ejecutan en el equipo local. No puede hacer que los procesos de los equipos remotos salgan. Solo puede ver información de los procesos que se ejecutan en equipos remotos.

Kill()

Source:
Process.Unix.cs
Source:
Process.Unix.cs
Source:
Process.Unix.cs
Source:
Process.Unix.cs
Source:
Process.Unix.cs

Detiene inmediatamente el proceso asociado.

public:
 void Kill();
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public void Kill();
public void Kill();
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public void Kill();
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.Kill : unit -> unit
member this.Kill : unit -> unit
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.Kill : unit -> unit
Public Sub Kill ()
Atributos

Excepciones

No se pudo finalizar el proceso asociado.

Está intentando llamar Kill() a para un proceso que se ejecuta en un equipo remoto. El método solo está disponible para los procesos que se ejecutan en el equipo local.

No hay ningún proceso asociado a este Process objeto.

Consulte también

Se aplica a

Kill(Boolean)

Source:
Process.NonUap.cs
Source:
Process.NonUap.cs
Source:
Process.NonUap.cs
Source:
Process.NonUap.cs
Source:
Process.NonUap.cs

Detiene inmediatamente el proceso asociado y, opcionalmente, sus procesos secundarios o descendientes.

public:
 void Kill(bool entireProcessTree);
[System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")]
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public void Kill(bool entireProcessTree);
public void Kill(bool entireProcessTree);
[System.Runtime.Versioning.UnsupportedOSPlatform("ios")]
[System.Runtime.Versioning.UnsupportedOSPlatform("tvos")]
public void Kill(bool entireProcessTree);
[<System.Runtime.Versioning.SupportedOSPlatform("maccatalyst")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.Kill : bool -> unit
member this.Kill : bool -> unit
[<System.Runtime.Versioning.UnsupportedOSPlatform("ios")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("tvos")>]
member this.Kill : bool -> unit
Public Sub Kill (entireProcessTree As Boolean)

Parámetros

entireProcessTree
Boolean

true para matar el proceso asociado y sus descendientes; false para eliminar solo el proceso asociado.

Atributos

Excepciones

No se pudo finalizar el proceso asociado.

O bien

El proceso finaliza.

Está intentando llamar Kill() a para un proceso que se ejecuta en un equipo remoto. El método solo está disponible para los procesos que se ejecutan en el equipo local.

Solo .NET Framework y .NET Core 3.0 y versiones anteriores: el proceso ya se ha cerrado.

O bien

No hay ningún proceso asociado a este Process objeto.

O bien

El proceso de llamada es un miembro del árbol descendiente del proceso asociado.

No todos los procesos del árbol descendiente del proceso asociado podrían finalizarse.

Comentarios

Cuando entireProcessTree se establece trueen , los procesos en los que la llamada carece de permisos para ver los detalles se omiten silenciosamente en el proceso de terminación descendiente porque el proceso de terminación no puede determinar si esos procesos son descendientes.

Consulte también

Se aplica a