Process.Kill Process.Kill Process.Kill Process.Kill Method

定義

オーバーロード

Kill() Kill() Kill() Kill()

関連付けられたプロセスを即時中断します。Immediately stops the associated process.

Kill(Boolean) Kill(Boolean) Kill(Boolean) Kill(Boolean)

関連付けられているプロセスと、任意で、その子/子孫プロセスを直ちに停止します。Immediately stops the associated process, and optionally its child/descendent processes.

注釈

メソッドKillは、終了を要求するCloseMainWindowだけで、プロセスを強制的に終了します。The Kill method forces a termination of the process, while CloseMainWindow only requests a termination. グラフィカルインターフェイスを持つプロセスが実行されている場合、そのメッセージループは待機状態になります。When a process with a graphical interface is executing, its message loop is in a wait state. メッセージループは、Windows メッセージがオペレーティングシステムによってプロセスに送信されるたびに実行されます。The message loop executes every time a Windows message is sent to the process by the operating system. CloseMainWindow呼び出すと、メインウィンドウを閉じるための要求が送信されます。このウィンドウは、適切な形式のアプリケーションで、子ウィンドウを閉じ、アプリケーションに対して実行中のすべてのメッセージループを取り消します。Calling CloseMainWindow sends a request to close the main window, which, in a well-formed application, closes child windows and revokes all running message loops for the application. を呼び出しCloseMainWindowてプロセスを終了する要求では、アプリケーションの終了は強制されません。The request to exit the process by calling CloseMainWindow does not force the application to quit. アプリケーションは、終了する前にユーザーの確認を要求することも、終了を拒否することもできます。The application can ask for user verification before quitting, or it can refuse to quit. アプリケーションを強制的に終了するには、 Killメソッドを使用します。To force the application to quit, use the Kill method.

CloseMainWindow動作は、[システム] メニューを使用してアプリケーションのメインウィンドウを閉じるユーザーの動作と同じです。The behavior of CloseMainWindow is identical to that of a user closing an application's main window using the system menu. そのため、メインウィンドウを閉じてプロセスを終了する要求では、アプリケーションが直ちに終了することはありません。Therefore, the request to exit the process by closing the main window does not force the application to quit immediately.

注意

メソッドKillは、非同期的に実行されます。The Kill method executes asynchronously. Killメソッドを呼び出した後、 WaitForExitメソッドを呼び出してプロセスがHasExited終了するまで待機するか、プロパティをチェックしてプロセスが終了したかどうかを確認します。After calling the Kill method, call the WaitForExit method to wait for the process to exit, or check the HasExited property to determine if the process has exited.

注意

WaitForExit メソッドHasExitedとプロパティには、子孫プロセスの状態は反映されません。The WaitForExit method and the HasExited property do not reflect the status of descendant processes. Kill(entireProcessTree: true)使用したWaitForExit場合HasExited 、とは、すべての子孫がまだ終了していなくても、指定されたプロセスが終了した後に、終了が完了したことを示します。When Kill(entireProcessTree: true) is used, WaitForExit and HasExited will indicate that exiting has completed after the given process exits, even if all descendants have not yet exited.

プロセスによって編集されたデータまたはプロセスに割り当てられたKillリソースは、を呼び出すと失われることがあります。Data edited by the process or resources allocated to the process can be lost if you call Kill. Killプロセスが異常終了する原因となるため、必要な場合にのみ使用してください。Kill causes an abnormal process termination and should be used only when necessary. CloseMainWindowプロセスの正常終了を有効にし、すべてのウィンドウを閉じます。そのため、インターフェイスを備えたアプリケーションに適しています。CloseMainWindow enables an orderly termination of the process and closes all windows, so it is preferable for applications with an interface. CloseMainWindow失敗した場合はKill 、を使用してプロセスを終了できます。If CloseMainWindow fails, you can use Kill to terminate the process. Killは、グラフィカルインターフェイスを持たないプロセスを終了する唯一の方法です。Kill is the only way to terminate processes that do not have graphical interfaces.

は、 Kill CloseMainWindowローカルコンピューターで実行されているプロセスに対してのみ呼び出すことができます。You can call Kill and CloseMainWindow only for processes that are running on the local computer. リモートコンピューター上のプロセスを終了させることはできません。You cannot cause processes on remote computers to exit. リモートコンピューター上で実行されているプロセスの情報のみを表示できます。You can only view information for processes running on remote computers.

注意

プロセスの終了中にKillメソッドの呼び出しが行われた場合、アクセスがWin32Exception拒否されると、がスローされます。If the call to the Kill method is made while the process is currently terminating, a Win32Exception is thrown for Access Denied.

Kill() Kill() Kill() Kill()

関連付けられたプロセスを即時中断します。Immediately stops the associated process.

public:
 void Kill();
public void Kill ();
member this.Kill : unit -> unit
Public Sub Kill ()

例外

関連付けられたプロセスを終了できませんでした。The associated process could not be terminated.

または-or-

プロセスを終了しています。The process is terminating.

リモート コンピューターで実行されているプロセスの Kill() を呼び出そうとしています。You are attempting to call Kill() for a process that is running on a remote computer. このメソッドはローカル コンピューターで実行中のプロセスに対してのみ使用可能です。The method is available only for processes running on the local computer.

プロセスは既に終了しています。The process has already exited.

- または --or- この Process オブジェクトに関連付けられているプロセスはありません。There is no process associated with this Process object.

セキュリティ

LinkDemand
直前の呼び出し元に対する完全な信頼の場合。for full trust for the immediate caller. このメンバーは、部分的に信頼されているコードから使用することはできません。This member cannot be used by partially trusted code.

こちらもご覧ください

Kill(Boolean) Kill(Boolean) Kill(Boolean) Kill(Boolean)

関連付けられているプロセスと、任意で、その子/子孫プロセスを直ちに停止します。Immediately stops the associated process, and optionally its child/descendent processes.

public:
 void Kill(bool entireProcessTree);
public void Kill (bool entireProcessTree);
member this.Kill : bool -> unit
Public Sub Kill (entireProcessTree As Boolean)

パラメーター

entireProcessTree
Boolean Boolean Boolean Boolean

true の場合、関連付けられているプロセスとその子孫が中止されます。false の場合、関連付けられているプロセスのみが中止されます。true to kill the associated process and its descendants; false to kill only the associated process.

例外

関連付けられたプロセスを終了できませんでした。The associated process could not be terminated.

または-or-

プロセスを終了しています。The process is terminating.

リモート コンピューターで実行されているプロセスの Kill() を呼び出そうとしています。You are attempting to call Kill() for a process that is running on a remote computer. このメソッドはローカル コンピューターで実行中のプロセスに対してのみ使用可能です。The method is available only for processes running on the local computer.

プロセスは既に終了しています。The process has already exited.

- または --or- この Process オブジェクトに関連付けられているプロセスはありません。There is no process associated with this Process object.

または-or-

呼び出しプロセスは、関連付けられているプロセスの子孫ツリーのメンバーです。The calling process is a member of the associated process' descendant tree.

関連付けられているプロセスの子孫ツリーの一部のプロセスを強制終了できませんでした。Not all processes in the associated process' descendant tree could be terminated.

注釈

entireProcessTreetrue設定されている場合、呼び出しに詳細を表示するアクセス許可がないプロセスは、子孫終了プロセスによって暗黙的にスキップされます。これは、プロセスが子孫であるかどうかを終了プロセスが判断できないためです。When entireProcessTree is set to true, processes where the call lacks permissions to view details are silently skipped by the descendant termination process because the termination process is unable to determine whether those processes are descendants.

セキュリティ

LinkDemand
直前の呼び出し元に対する完全な信頼の場合。for full trust for the immediate caller. このメンバーは、部分的に信頼されているコードから使用することはできません。This member cannot be used by partially trusted code.

こちらもご覧ください

適用対象