Condividi tramite


Process.Kill Metodo

Definizione

Forza la terminazione del processo sottostante.

Overload

Kill()

Arresta immediatamente il processo associato.

Kill(Boolean)

Arresta immediatamente il processo associato e, facoltativamente, i processi figlio/discendenti.

Commenti

Il Kill metodo forza la terminazione del processo, mentre CloseMainWindow richiede solo una terminazione. Quando un processo con un'interfaccia grafica è in esecuzione, il ciclo di messaggi si trova in uno stato di attesa. Il ciclo di messaggi viene eseguito ogni volta che un messaggio di Windows viene inviato al processo dal sistema operativo. La chiamata CloseMainWindow invia una richiesta per chiudere la finestra principale, che, in un'applicazione ben formata, chiude le finestre figlio e revoca tutti i cicli di messaggi in esecuzione per l'applicazione. La richiesta di uscire dal processo chiamando CloseMainWindow non forza la chiusura dell'applicazione. L'applicazione può richiedere la verifica dell'utente prima di uscire oppure rifiutare di uscire. Per forzare la chiusura dell'applicazione, usare il Kill metodo .

Il comportamento di CloseMainWindow è identico a quello di un utente che chiude la finestra principale di un'applicazione usando il menu di sistema. Pertanto, la richiesta di uscire dal processo chiudendo la finestra principale non forza l'interruzione immediata dell'applicazione.

Nota

Il Kill metodo viene eseguito in modo asincrono. Dopo aver chiamato il Kill metodo , chiamare il WaitForExit metodo per attendere l'uscita del processo o controllare la HasExited proprietà per determinare se il processo è stato chiuso.

Nota

Il WaitForExit metodo e la HasExited proprietà non riflettono lo stato dei processi discendenti. Quando Kill(entireProcessTree: true) viene usato WaitForExit e HasExited indicherà che l'uscita è stata completata dopo l'uscita dal processo specificato, anche se tutti i discendenti non sono ancora usciti.

I dati modificati dal processo o dalle risorse allocate al processo possono essere persi se si chiama Kill. Kill causa una terminazione del processo anomala e deve essere usata solo quando necessario. CloseMainWindow abilita una terminazione ordinata del processo e chiude tutte le finestre, quindi è preferibile per le applicazioni con un'interfaccia. Se CloseMainWindow ha esito negativo, è possibile usare Kill per terminare il processo. Kill è l'unico modo per terminare i processi che non dispongono di interfacce grafiche.

È possibile chiamare Kill e CloseMainWindow solo per i processi in esecuzione nel computer locale. Non è possibile causare la chiusura dei processi nei computer remoti. È possibile visualizzare solo le informazioni per i processi in esecuzione nei computer remoti.

Kill()

Origine:
Process.Unix.cs
Origine:
Process.Unix.cs
Origine:
Process.Unix.cs

Arresta immediatamente il processo associato.

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

Eccezioni

Non è possibile terminare il processo associato.

Si sta provando a chiamare Kill() per un processo in esecuzione in un computer remoto. Il metodo è disponibile solo per i processi in esecuzione nel computer locale.

A questo oggetto Process non è associato alcun processo.

Vedi anche

Si applica a

Kill(Boolean)

Origine:
Process.NonUap.cs
Origine:
Process.NonUap.cs
Origine:
Process.NonUap.cs

Arresta immediatamente il processo associato e, facoltativamente, i processi figlio/discendenti.

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

Parametri

entireProcessTree
Boolean

true per terminare il processo associato e i relativi discendenti. false per terminare solo il processo associato.

Attributi

Eccezioni

Non è possibile terminare il processo associato.

-oppure-

Il processo verrà terminato.

Si sta provando a chiamare Kill() per un processo in esecuzione in un computer remoto. Il metodo è disponibile solo per i processi in esecuzione nel computer locale.

Solo .NET Framework e .NET Core 3.0 e versioni precedenti: il processo è già terminato.

-oppure-

A questo oggetto Process non è associato alcun processo.

-oppure-

Il processo chiamante è un membro dell'albero discendente del processo associato.

Non tutti i processi nell'albero discendente del processo associato potrebbero essere terminati.

Commenti

Quando entireProcessTree è impostato su true, i processi in cui la chiamata non dispone delle autorizzazioni per visualizzare i dettagli vengono ignorati automaticamente dal processo di terminazione discendente perché il processo di terminazione non è in grado di determinare se tali processi sono discendenti.

Vedi anche

Si applica a