Process.Kill Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wymusza zakończenie podstawowego procesu.
Przeciążenia
| Nazwa | Opis |
|---|---|
| Kill() |
Natychmiast zatrzymuje skojarzony proces. |
| Kill(Boolean) |
Natychmiast zatrzymuje skojarzony proces i opcjonalnie jego procesy podrzędne/malejąco. |
Uwagi
Metoda Kill wymusza zakończenie procesu, podczas gdy CloseMainWindow żąda tylko zakończenia.
Gdy proces z interfejsem graficznym jest wykonywany, jego pętla komunikatów jest w stanie oczekiwania.
Pętla komunikatów jest wykonywana za każdym razem, gdy komunikat systemu Windows jest wysyłany do procesu przez system operacyjny.
Wywołanie CloseMainWindow powoduje wysłanie żądania zamknięcia okna głównego, które w dobrze sformułowanej aplikacji zamyka okna podrzędne i odwołuje wszystkie uruchomione pętle komunikatów dla aplikacji.
Żądanie zakończenia procesu przez wywołanie CloseMainWindow metody nie wymusza zamknięcia aplikacji.
Aplikacja może poprosić o weryfikację użytkownika przed zamknięciem lub może odmówić zamknięcia.
Aby wymusić zamknięcie aplikacji, użyj Kill metody .
Zachowanie jest identyczne z zachowaniem CloseMainWindow użytkownika zamykającego główne okno aplikacji przy użyciu menu systemowego. W związku z tym żądanie zakończenia procesu przez zamknięcie okna głównego nie wymusza natychmiastowego zamknięcia aplikacji.
Uwaga / Notatka
Metoda Kill jest wykonywana asynchronicznie.
Po wywołaniu Kill metody wywołaj WaitForExit metodę , aby poczekać na zakończenie procesu, lub sprawdź HasExited właściwość , aby określić, czy proces zakończył się.
Uwaga / Notatka
Metoda WaitForExit i HasExited właściwość nie odzwierciedlają stanu procesów potomnych.
Gdy Kill(entireProcessTree: true) jest używany, WaitForExit i HasExited wskaże, że zakończenie zostało zakończone po zakończeniu danego procesu, nawet jeśli wszystkie elementy potomne nie zostały jeszcze zakończone.
Dane edytowane przez proces lub zasoby przydzielone do tego procesu można utracić, jeśli wywołasz metodę Kill.
Kill powoduje nieprawidłowe zakończenie procesu i powinno być używane tylko w razie potrzeby.
CloseMainWindow umożliwia uporządkowane zakończenie procesu i zamyka wszystkie okna, dlatego zaleca się, aby aplikacje z interfejsem.
Jeśli CloseMainWindow proces zakończy się niepowodzeniem, możesz użyć Kill polecenia , aby zakończyć proces.
Kill jest jedynym sposobem zakończenia procesów, które nie mają interfejsów graficznych.
Można wywołać metodę Kill i CloseMainWindow tylko dla procesów uruchomionych na komputerze lokalnym.
Nie można spowodować zakończenia procesów na komputerach zdalnych. Informacje dotyczące procesów uruchomionych na komputerach zdalnych można wyświetlać tylko.
Kill()
- Źródło:
- Process.Unix.cs
- Źródło:
- Process.Unix.cs
- Źródło:
- Process.Unix.cs
- Źródło:
- Process.Unix.cs
- Źródło:
- Process.Unix.cs
Natychmiast zatrzymuje skojarzony proces.
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 ()
- Atrybuty
Wyjątki
Nie można zakończyć skojarzonego procesu.
Próbujesz wywołać Kill() proces uruchomiony na komputerze zdalnym. Metoda jest dostępna tylko dla procesów uruchomionych na komputerze lokalnym.
Brak procesu skojarzonego z tym Process obiektem.
Zobacz też
Dotyczy
Kill(Boolean)
- Źródło:
- Process.NonUap.cs
- Źródło:
- Process.NonUap.cs
- Źródło:
- Process.NonUap.cs
- Źródło:
- Process.NonUap.cs
- Źródło:
- Process.NonUap.cs
Natychmiast zatrzymuje skojarzony proces i opcjonalnie jego procesy podrzędne/malejąco.
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)
Parametry
- entireProcessTree
- Boolean
true zabić skojarzony proces i jego elementy potomne; false aby zabić tylko skojarzony proces.
- Atrybuty
Wyjątki
Próbujesz wywołać Kill() proces uruchomiony na komputerze zdalnym. Metoda jest dostępna tylko dla procesów uruchomionych na komputerze lokalnym.
Tylko programy .NET Framework i .NET Core 3.0 i starsze: proces został już zakończony.
— lub —
Brak procesu skojarzonego z tym Process obiektem.
— lub —
Proces wywołujący jest elementem członkowskim drzewa podrzędnego skojarzonego procesu.
Nie wszystkie procesy w drzewie potomnych skojarzonego procesu mogą zostać zakończone.
Uwagi
Gdy entireProcessTree jest ustawiona wartość true, procesy, w których wywołanie nie ma uprawnień do wyświetlania szczegółów, są dyskretnie pomijane przez proces kończenia potomnych, ponieważ proces zakończenia nie może określić, czy te procesy są elementami podrzędnymi.