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