Process.Kill メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
基になるプロセスの強制終了。
オーバーロード
| 名前 | 説明 |
|---|---|
| Kill() |
関連付けられているプロセスを直ちに停止します。 |
| Kill(Boolean) |
関連付けられているプロセスと、必要に応じてその子/子孫プロセスを直ちに停止します。 |
注釈
Killメソッドは強制的にプロセスを終了しますが、CloseMainWindowは終了のみを要求します。
グラフィカル インターフェイスを持つプロセスが実行されている場合、メッセージ ループは待機状態になります。
メッセージ ループは、オペレーティング システムによって Windows メッセージがプロセスに送信されるたびに実行されます。
CloseMainWindowを呼び出すと、メイン ウィンドウを閉じる要求が送信されます。この要求は、整形式のアプリケーションでは子ウィンドウを閉じ、アプリケーションの実行中のすべてのメッセージ ループを取り消します。
CloseMainWindowを呼び出してプロセスを終了する要求は、アプリケーションを強制的に終了しません。
アプリケーションは、終了する前にユーザーの確認を要求することも、終了を拒否することもできます。
アプリケーションを強制的に終了するには、 Kill メソッドを使用します。
CloseMainWindowの動作は、システム メニューを使用してアプリケーションのメイン ウィンドウを閉じるユーザーの動作と同じです。 したがって、メイン ウィンドウを閉じてプロセスを終了する要求は、アプリケーションをすぐに終了させるわけではありません。
注
Kill メソッドは非同期的に実行されます。
Kill メソッドを呼び出した後、WaitForExit メソッドを呼び出してプロセスが終了するのを待機するか、HasExited プロパティを調べてプロセスが終了したかどうかを確認します。
注
WaitForExit メソッドと HasExited プロパティには、子孫プロセスの状態は反映されません。
Kill(entireProcessTree: true)を使用すると、WaitForExitとHasExitedは、すべての子孫がまだ終了していない場合でも、指定されたプロセスの終了後に終了が完了したことを示します。
プロセスによって編集されたデータまたはプロセスに割り当てられたリソースは、 Kill呼び出すと失われる可能性があります。
Kill は異常なプロセス終了を引き起こし、必要な場合にのみ使用する必要があります。
CloseMainWindow は、プロセスを順番に終了し、すべてのウィンドウを閉じるので、インターフェイスを持つアプリケーションに適しています。
CloseMainWindow失敗した場合は、Killを使用してプロセスを終了できます。
Kill は、グラフィカル インターフェイスを持たないプロセスを終了する唯一の方法です。
KillとCloseMainWindowは、ローカル コンピューターで実行されているプロセスに対してのみ呼び出すことができます。
リモート コンピューター上のプロセスを終了させることはできません。 リモート コンピューターで実行されているプロセスの情報のみを表示できます。
Kill()
- ソース:
- Process.Unix.cs
- ソース:
- Process.Unix.cs
- ソース:
- Process.Unix.cs
- ソース:
- Process.Unix.cs
- ソース:
- Process.Unix.cs
関連付けられているプロセスを直ちに停止します。
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 ()
- 属性
例外
関連付けられているプロセスを終了できませんでした。
リモート コンピューターで実行されているプロセスの Kill() を呼び出そうとしています。 このメソッドは、ローカル コンピューターで実行されているプロセスでのみ使用できます。
この Process オブジェクトに関連付けられているプロセスはありません。
こちらもご覧ください
適用対象
Kill(Boolean)
関連付けられているプロセスと、必要に応じてその子/子孫プロセスを直ちに停止します。
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)
パラメーター
- entireProcessTree
- Boolean
true 関連付けられたプロセスとその子孫を強制終了する場合。関連付けられているプロセスのみを強制終了する false 。
- 属性
例外
リモート コンピューターで実行されているプロセスの Kill() を呼び出そうとしています。 このメソッドは、ローカル コンピューターで実行されているプロセスでのみ使用できます。
.NET Framework および .NET Core 3.0 以前のバージョンのみ: プロセスは既に終了しています。
-又は-
この Process オブジェクトに関連付けられているプロセスはありません。
-又は-
呼び出し元のプロセスは、関連付けられているプロセスの子孫ツリーのメンバーです。
関連付けられているプロセスの子孫ツリー内のすべてのプロセスを終了できるわけではありません。
注釈
entireProcessTreeがtrueに設定されている場合、呼び出しに詳細を表示するアクセス許可がないプロセスは、終了プロセスが子孫であるかどうかを判断できないため、子孫終了プロセスによって暗黙的にスキップされます。