Process.Kill Método

Definição

Força a terminação do processo subjacente.

Sobrecargas

Name Description
Kill()

Para imediatamente o processo associado.

Kill(Boolean)

Para imediatamente o processo associado e, opcionalmente, os seus processos filhos/descendentes.

Observações

O Kill método força a terminação do processo, enquanto CloseMainWindow apenas solicita a terminação. Quando um processo com uma interface gráfica está a ser executado, o seu ciclo de mensagens está em estado de espera. O ciclo de mensagens é executado sempre que uma mensagem do Windows é enviada ao processo pelo sistema operativo. A chamada CloseMainWindow envia um pedido para fechar a janela principal que, numa aplicação bem formada, fecha as janelas filhos e revoga todos os ciclos de mensagens em execução da aplicação. O pedido para sair do processo por chamada CloseMainWindow não obriga a aplicação a encerrar. A aplicação pode pedir a verificação do utilizador antes de sair, ou pode recusar-se a sair. Para forçar a aplicação a sair, use o Kill método.

O comportamento de CloseMainWindow é idêntico ao de um utilizador a fechar a janela principal de uma aplicação usando o menu do sistema. Portanto, o pedido para sair do processo fechando a janela principal não obriga a aplicação a encerrar imediatamente.

Note

O Kill método executa-se de forma assíncrona. Depois de chamar o Kill método, chame-o WaitForExit para esperar que o processo saia, ou verifique a HasExited propriedade para determinar se o processo já saiu.

Note

O WaitForExit método e a HasExited propriedade não refletem o estatuto dos processos descendentes. Quando Kill(entireProcessTree: true) for usado, WaitForExit e HasExited indicará que a saída foi concluída após a conclusão do processo determinado, mesmo que todos os descendentes ainda não tenham saído.

Os dados editados pelo processo ou os recursos alocados ao processo podem ser perdidos se chamar Kill. Kill causa uma terminação anormal do processo e deve ser usada apenas quando necessário. CloseMainWindow permite uma terminação ordenada do processo e fecha todas as janelas, pelo que é preferível para aplicações com interface. Se CloseMainWindow falhar, podes usar Kill para terminar o processo. Kill é a única forma de terminar processos que não têm interfaces gráficas.

Podes ligar Kill e CloseMainWindow só para processos que estão a correr no computador local. Não pode fazer com que processos em computadores remotos saiam. Só pode visualizar a informação dos processos a correr em computadores remotos.

Kill()

Origem:
Process.Unix.cs
Origem:
Process.Unix.cs
Origem:
Process.Unix.cs
Origem:
Process.Unix.cs
Origem:
Process.Unix.cs

Para imediatamente o processo associado.

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

Exceções

O processo associado não pôde ser terminado.

Está a tentar chamar Kill() um processo que está a correr num computador remoto. O método está disponível apenas para processos a correr no computador local.

Não existe nenhum processo associado a este Process objeto.

Ver também

Aplica-se a

Kill(Boolean)

Origem:
Process.NonUap.cs
Origem:
Process.NonUap.cs
Origem:
Process.NonUap.cs
Origem:
Process.NonUap.cs
Origem:
Process.NonUap.cs

Para imediatamente o processo associado e, opcionalmente, os seus processos filhos/descendentes.

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 eliminar o processo associado e os seus descendentes; false para matar apenas o processo associado.

Atributos

Exceções

O processo associado não pôde ser terminado.

-ou-

O processo está a terminar.

Está a tentar chamar Kill() um processo que está a correr num computador remoto. O método está disponível apenas para processos a correr no computador local.

Apenas .NET Framework: O processo já terminou.

-ou-

Não existe nenhum processo associado a este Process objeto.

-ou-

O processo de chamada é um membro da árvore descendente do processo associado.

Nem todos os processos na árvore descendente do processo associado podiam ser terminados.

Observações

Quando entireProcessTree está definido para true, os processos em que a chamada não tem permissões para visualizar detalhes são silenciosamente ignorados pelo processo de terminação descendente porque este não consegue determinar se esses processos são descendentes.

Ver também

Aplica-se a