次の方法で共有


Process.Kill メソッド

定義

基になるプロセスの強制終了。

オーバーロード

名前 説明
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 は、グラフィカル インターフェイスを持たないプロセスを終了する唯一の方法です。

KillCloseMainWindowは、ローカル コンピューターで実行されているプロセスに対してのみ呼び出すことができます。 リモート コンピューター上のプロセスを終了させることはできません。 リモート コンピューターで実行されているプロセスの情報のみを表示できます。

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)

ソース:
Process.NonUap.cs
ソース:
Process.NonUap.cs
ソース:
Process.NonUap.cs
ソース:
Process.NonUap.cs
ソース:
Process.NonUap.cs

関連付けられているプロセスと、必要に応じてその子/子孫プロセスを直ちに停止します。

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 オブジェクトに関連付けられているプロセスはありません。

-又は-

呼び出し元のプロセスは、関連付けられているプロセスの子孫ツリーのメンバーです。

関連付けられているプロセスの子孫ツリー内のすべてのプロセスを終了できるわけではありません。

注釈

entireProcessTreetrueに設定されている場合、呼び出しに詳細を表示するアクセス許可がないプロセスは、終了プロセスが子孫であるかどうかを判断できないため、子孫終了プロセスによって暗黙的にスキップされます。

こちらもご覧ください

適用対象