명령 줄에서 특정 “명령 줄”로 프로세스 종료 프로세스를 종료하는 명령

특정 명령 행으로 모든 프로세스를 종료하는 명령 행 유틸리티가 있습니까?

예를 들어 “-jar selenium-server.jar”를 포함하는 명령 행으로 “java.exe”라는 모든 프로세스를 종료하십시오. 이것은 프로세스 탐색기를 통해 가능합니다.



답변

Windows XP에서는 WMI 콘솔 인 WMIC를 쉽게 사용할 수 있습니다 . 명령 propt에서 다음을 입력하십시오.

wmic Path win32_process Where "CommandLine Like '%-jar selenium-server.jar%'" Call Terminate

편집하다:

Aviator의 포트와 마찬가지로 별칭 ‘ process ‘를 전체 경로 ( ‘ path win32_process ‘)로 바꿨습니다 . 이 별명은 모든 OS에서 선언되지 않을 수 있습니다.


답변

WMIC 명령이 포함 된 Windows 버전을 사용중인 경우 당신은 이것을 시도 할 수 있습니다

wmic path win32_process Where "Caption Like '%java.exe%' AND CommandLine Like '%selenium.jar%'" get ProcessId|more +1

more +1헤더를 포함하는 첫 번째 라인을 제거하고 단독 PID를 출력한다. selenium.jar을 포함하는 둘 이상의 Java 프로세스가있는 경우 줄당 하나의 PID를 리턴합니다.


답변

Get-Process 및 StartInfo.Arguments를 사용하여 원하는 프로세스에서 PowerShell 로이 작업을 수행 할 수 있다고 생각합니다.

$procs = Get-Process java
foreach($proc in $procs)
{
    if($proc.StartInfo.Arguments -contains "-jar selenium-server.jar")
    {
        kill $proc
    }
}

(나는 그것을 완전히 테스트하지는 않았지만 제대로 작동하도록 조정할 수 있어야합니다)


답변

Powershell의 간단한 단일 라이너 :

(Get-WmiObject win32_process -filter "Name='java.exe' AND CommandLine LIKE '%-jar selenium-server.jar%'").Terminate()


답변

파워 쉘 :-

$oProcs = get-process explorer;foreach ($oProc in $oProcs){if ($oProc.Path.Contains('C:\Windows')) {Stop-Process $oProc.Id}}


답변

Brain의 PowerShell 스크립트 변형을 사용합니다 .

명령 행 및 기타 정보도 출력됩니다.

$processes = Get-WmiObject Win32_Process -Filter "name = 'java.exe'"
foreach($proc in $processes)
{
    if($proc.CommandLine.Contains("selenium-server.jar"))
    {
        Write-Host "stopping proccess $($proc.ProcessId) with $($proc.ThreadCount) threads; $($proc.CommandLine.Substring(0, 50))..."
        Stop-Process -F $proc.ProcessId
    } else
    {
        Write-Host "skipping proccess $($proc.ProcessId) with $($proc.ThreadCount) threads; $($proc.CommandLine.Substring(0, 50))..."
    }
}


답변

또 다른 파워 쉘 변형. 기본적으로 동일하고 입력하고 기억하기가 더 쉽습니다. -match는 실제로 정규 표현식을 사용할 수 있습니다.

get-wmiobject win32_process | where commandline -match selenium-server.jar
  | remove-wmiobject