Process.Kill Metod

Definition

Tvingar fram avslutning av den underliggande processen.

Överlagringar

Name Description
Kill()

Stoppar omedelbart den associerade processen.

Kill(Boolean)

Stoppar omedelbart den associerade processen och eventuellt dess underordnade/underordnade processer.

Kommentarer

Metoden Kill tvingar fram en avslutning av processen, medan CloseMainWindow endast begär en avslutning. När en process med ett grafiskt gränssnitt körs är dess meddelandeloop i vänteläge. Meddelandeloopen körs varje gång ett Windows meddelande skickas till processen av operativsystemet. Anrop CloseMainWindow skickar en begäran om att stänga huvudfönstret, som i ett välformat program stänger underordnade fönster och återkallar alla meddelandeslingor som körs för programmet. Begäran om att avsluta processen genom att anropa CloseMainWindow tvingar inte programmet att avslutas. Programmet kan be om användarverifiering innan det avslutas, eller så kan det vägra att avsluta. Använd metoden för att tvinga programmet att avslutas Kill .

Beteendet CloseMainWindow för är identiskt med det för en användare som stänger ett programs huvudfönster med hjälp av systemmenyn. Begäran om att avsluta processen genom att stänga huvudfönstret tvingar därför inte programmet att avslutas omedelbart.

Note

Metoden Kill körs asynkront. När du har anropat Kill metoden anropar WaitForExit du metoden för att vänta tills processen avslutas eller kontrollerar HasExited egenskapen för att avgöra om processen har avslutats.

Note

Metoden WaitForExit och HasExited egenskapen återspeglar inte statusen för underordnade processer. När Kill(entireProcessTree: true) används och WaitForExitHasExited anger att avslut har slutförts efter att den angivna processen har avslutats, även om alla underordnade ännu inte har avslutats.

Data som redigerats av processen eller resurser som allokerats till processen kan gå förlorade om du anropar Kill. Kill orsakar en onormal processavslutning och bör endast användas vid behov. CloseMainWindow möjliggör en ordnad avslutning av processen och stänger alla fönster, så det är att föredra för program med ett gränssnitt. Om CloseMainWindow det misslyckas kan du använda Kill för att avsluta processen. Kill är det enda sättet att avsluta processer som inte har grafiska gränssnitt.

Du kan bara anropa Kill och CloseMainWindow endast för processer som körs på den lokala datorn. Det går inte att avsluta processer på fjärrdatorer. Du kan bara visa information för processer som körs på fjärrdatorer.

Kill()

Källa:
Process.Unix.cs
Källa:
Process.Unix.cs
Källa:
Process.Unix.cs
Källa:
Process.Unix.cs
Källa:
Process.Unix.cs

Stoppar omedelbart den associerade processen.

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 ()
Attribut

Undantag

Det gick inte att avsluta den associerade processen.

Du försöker anropa Kill() en process som körs på en fjärrdator. Metoden är endast tillgänglig för processer som körs på den lokala datorn.

Det finns ingen process som är associerad med det här Process objektet.

Se även

Gäller för

Kill(Boolean)

Källa:
Process.NonUap.cs
Källa:
Process.NonUap.cs
Källa:
Process.NonUap.cs
Källa:
Process.NonUap.cs
Källa:
Process.NonUap.cs

Stoppar omedelbart den associerade processen och eventuellt dess underordnade/underordnade processer.

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)

Parametrar

entireProcessTree
Boolean

true för att döda den associerade processen och dess ättlingar; false för att bara ta död på den associerade processen.

Attribut

Undantag

Det gick inte att avsluta den associerade processen.

-eller-

Processen avslutas.

Du försöker anropa Kill() en process som körs på en fjärrdator. Metoden är endast tillgänglig för processer som körs på den lokala datorn.

endast .NET Framework: Processen har redan avslutats.

-eller-

Det finns ingen process som är associerad med det här Process objektet.

-eller-

Anropsprocessen är medlem i den associerade processens underordnade träd.

Det gick inte att avsluta alla processer i den associerade processens underordnade träd.

Kommentarer

När entireProcessTree är inställt på true, hoppas processer där anropet saknar behörighet att visa information tyst över av den underordnade avslutningsprocessen eftersom avslutningsprocessen inte kan avgöra om dessa processer är underordnade.

Se även

Gäller för