PowerShell Alias - kill
 記事記号:[mdAc60] 初版:2010/Dec/28

この文書は、Windows PowerShellのヘルプ機能で表示される内容を再構成したものです。

名前
    Stop-Process
    
概要
    実行中のプロセスを 1 つ以上停止します。
    
構文
    Stop-Process [-Id] <Int32[]> [-Force] [-PassThru] [-Confirm] [-WhatIf] 
    [<CommonParameters>]
    
    Stop-Process -InputObject <Process[]> [-Force] [-PassThru] [-Confirm] 
    [-WhatIf] [<CommonParameters>]
    
    Stop-Process -Name <string[]> [-Force] [-PassThru] [-Confirm] [-WhatIf
    ] [<CommonParameters>]
    
説明
    Stop-Process コマンドレットは、実行中のプロセスを 1 つ以上停止します。プロセ
    スを指定するには、プロセス名またはプロセス ID (PID) で指定するか、Stop-Proce
    ss に対してプロセス オブジェクトを渡します。Stop-Process は、ローカル コンピ
    ューターで実行されているプロセスでのみ機能します。
    
    Windows Vista 以降のバージョンの Windows で、現在のユーザーが所有していない
    プロセスを停止するには、Windows PowerShell を起動する際に [管理者として実行] 
    を指定する必要があります。また、Force パラメーターを使用する場合を除き、確認
    メッセージが表示されます。
    
パラメーター
    -Force [<SwitchParameter>]
        確認メッセージを表示せずに、指定されたプロセスを停止します。既定では、St
        op-Process は、現在のユーザーが所有していないプロセスを停止する前に、確
        認メッセージを表示します。
        
        プロセスの所有者を確認するには、Get-WmiMethod コマンドレットを使用して、
        プロセスを表す Win32_Process オブジェクトを取得します。次に、オブジェク
        トの GetOwner メソッドを使用します。
        
        必須                         false
        位置                         named
        既定値                       False
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Id <Int32[]>
        停止するプロセスのプロセス ID を指定します。複数の ID を指定するには、ID 
        をコンマで区切ります。プロセスの PID を検索するには、「get-process」と入
        力します。パラメーター名 ("Id") は省略可能です。
        
        必須                         true
        位置                         1
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -InputObject <Process[]>
        指定したプロセス オブジェクトが表すプロセスを停止します。オブジェクトが
        格納されている変数を入力するか、オブジェクトを取得するコマンドまたは式を
        入力します。
        
        必須                         true
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByValue)
        ワイルドカード文字を許可する false
        
    -Name <string[]>
        停止するプロセスのプロセス名を指定します。複数のプロセス名をコンマで区切
        って指定することも、ワイルドカード文字を使用することもできます。
        
        必須                         true
        位置                         named
        既定値                       
        パイプライン入力を許可する   true (ByPropertyName)
        ワイルドカード文字を許可する false
        
    -PassThru [<SwitchParameter>]
        プロセスを表すオブジェクトを返します。既定では、このコマンドレットによる
        出力はありません。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -Confirm [<SwitchParameter>]
        コマンドを実行する前に確認メッセージを表示します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    -WhatIf [<SwitchParameter>]
        実際にコマンドを実行せずに、コマンドを実行すると何が起きるかを出力します。
        
        必須                         false
        位置                         named
        既定値                       
        パイプライン入力を許可する   false
        ワイルドカード文字を許可する false
        
    <CommonParameters>
        このコマンドレットは、次の共通パラメーターをサポートします: Verbose、
        Debug、ErrorAction、ErrorVariable、WarningAction、WarningVariable、
        OutBuffer、および OutVariable。詳細については、
        「get-help about_commonparameters」と入力してヘルプを参照してください。
    
入力
    System.Diagnostics.Process
        パイプを使用してプロセス オブジェクトを Stop-Process に渡すことができま
        す。
    
出力
    なし、または System.Diagnostics.Process
        Stop-Process で PassThru パラメーターを使用すると、停止されたプロセスを
        表す System.Diagnostics.Process オブジェクトが返されます。それ以外の場合、
        このコマンドレットによる出力はありません。
    
メモ
        Stop-Process を組み込みエイリアス "kill" および "spps" で参照することも
        できます。詳細については、「about_Aliases」を参照してください。
        
        また、Windows Management Instrumentation (WMI) Win32_Process オブジェク
        トのプロパティとメソッドを Windows PowerShell で使用することもできます。
        詳細については、Get-WmiObject および「WMI SDK」を参照してください。
        
        プロセスを停止すると、そのプロセスに依存するプロセスやサービスも停止する
        可能性があることに注意してください。場合によっては、プロセスを停止したと
        き、Windows が停止する場合もあります。
        
    -------------------------- 例 1 --------------------------
    C:\PS>stop-process -name notepad
    
    説明
    -----------
    このコマンドを実行すると、コンピューター上の Notepad プロセスのインスタンス
    がすべて停止されます (Notepad の各インスタンスは個別のプロセスで動作します)。
    この例では、Name パラメーターを使用してプロセスを指定しています。プロセス名
    はすべて同じです。ID パラメーターを使用して同じプロセスを停止する場合は、Not
    epad の各インスタンスの ID を列挙する必要があります。
    
    -------------------------- 例 2 --------------------------
    C:\PS>stop-process -id 3952 -confirm -passthru
    
    Confirm
    Are you sure you want to perform this action?
    Performing operation "Stop-Process" on Target "notepad (3952)".
    [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help
    (default is "Y"):y
    Handles  NPM(K)    PM(K)      WS(K) VM(M)   CPU(s)     Id ProcessName
    -------  ------    -----      ----- -----   ------     -- -----------
         41       2      996       3212    31            3952 notepad
    
    説明
    -----------
    このコマンドを実行すると、Notepad プロセスの特定のインスタンスが停止されます。
    プロセス ID 3952 を使用してプロセスを識別しています。Confirm パラメーターは、
    Windows PowerShell に対して、プロセスを停止する前にユーザーに確認メッセージ
    を表示することを指示します。確認メッセージにはプロセス名と ID が含まれている
    ため、この方法を推奨します。PassThru パラメーターがあるため、プロセス オブジ
    ェクトは、表示用に書式設定プログラムに渡されます。このパラメーターがないと、
    Stop-Process コマンドを実行しても何も表示されません。
    
    -------------------------- 例 3 --------------------------
    C:\PS>calc
    
    c:\PS>$p = get-process calc
    
    c:\PS>stop-process -inputobject $p
    
    c:\PS>get-process | where-object {$_.HasExited}
    
    説明
    -----------
    この一連のコマンドを実行すると、Calc プロセスが開始されて停止された後、停止
    したプロセスが検出されます。
    
    最初のコマンド (calc) を実行すると、電卓のインスタンスが開始されます。2 番目
    のコマンド ($p = get-process calc) を実行すると、Get-Process コマンドレットを
    使用して Calc プロセスを表すオブジェクトが取得され、$p 変数に格納されます。3 
    番目のコマンド (stop-process -inputobject $p) を実行すると、Stop-Process コマ
    ンドレットを使用して、Calc プロセスが停止されます。InputObject パラメーターを
    使用して、オブジェクトを Stop-Process に渡しています。
    
    最後のコマンドは、コンピューター上の、以前は実行中で現在は停止しているすべて
    のプロセスを取得します。コンピューター上のすべてのプロセスを取得するために、G
    et-Process コマンドレットを使用しています。パイプライン演算子 (|) により、結
    果が Where-Object コマンドレットに渡され、HasExited プロパティの値が TRUE の
    プロセスが選択されます。HasExited は、プロセス オブジェクトの 1 つのプロパテ
    ィにすぎません。すべてのプロパティを検索するには、「get-process | get-member」
    と入力します。
    
    -------------------------- 例 4 --------------------------
    C:\PS>get-process lsass | stop-process
    
    Stop-Process : Cannot stop process 'lsass (596)' because of the following er
    ror: Access is denied
    At line:1 char:34
    + get-process lsass  | stop-process <<<<
    
    [ADMIN]: C:\PS> get-process lsass | stop-process
    Warning!
    Are you sure you want to perform this action?
    Performing operation 'Stop-Process' on Target 'lsass(596)'
    [Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (defau
    lt is "Y"):
    
    [ADMIN]: C:\PS> get-process lsass | stop-process -force
    [ADMIN]: C:\PS>
    
    説明
    -----------
    これらのコマンドは、Force パラメーターを使用して、ユーザーが所有していないプ
    ロセスを停止するときの結果を示します。
    
    最初のコマンドは、Get-Process コマンドレットを使用して Lsass プロセスを取得し
    ます。パイプライン演算子がプロセスを Stop-Process コマンドレットに渡して、プロ
    セスを停止します。サンプル出力に示されているように、最初のコマンドは失敗して 
    "アクセスは拒否されました" というメッセージが表示されます。これは、このプロセ
    スを停止できるのは、コンピューターの Administrators グループのメンバーに限られ
    ているためです。
    
    [管理者として実行] を指定して Windows PowerShell を開き、コマンドを繰り返すと、
    確認メッセージが表示されます。
    
    2 番目のコマンドは、Force パラメーターを使用して、確認メッセージを表示しないよ
    うにします。その結果、プロセスは確認なしで停止されます。
    
関連するリンク
    Online version: http://go.microsoft.com/fwlink/?LinkID=113412
    Get-Process 
    Start-Process 
    Stop-Process 
    Wait-Process 
    Debug-Process 
	
記事で解説しているパソコンの環境
 基本ソフト: Windows 7
 キーワード: Windows PowerShell、ヘルプ、Alias、kill
ご利用数: 1917605
感想・要望・問い合わせは こちら