prosource

파일 이름별 킬 프로세스

probook 2023. 8. 16. 22:27
반응형

파일 이름별 킬 프로세스

다른 장소에서 3개의 애플리케이션 인스턴스를 실행하고 있습니다.모든 프로세스의 이름은 비슷합니다.

어떻게 특정 장소에서 시작된 프로세스를 종료할 수 있습니까?

응용 프로그램 경로를 얻을 수 있습니다.

Get-Process | Where-Object {$_.Path -like "*something*"} | Stop-Process -WhatIf

로컬 컴퓨터에서만 작동합니다.원격 프로세스를 종료하는 방법

Get-WmiObject Win32_Process -Filter "ExecutablePath LIKE '%something%'" -ComputerName server1 | Invoke-WmiMethod -Name Terminate

Shay Levy의 답변은 제 설정(파워셸 버전 4)에서 잘 작동하지 않았기 때문에 약간 개선하고 싶습니다.

Get-Process | Where-Object {$_.Path -like "*something*"} | Stop-Process -Force -processname {$_.ProcessName}

당신은 그것을 볼 수 있습니다.MainModule클래스 내부의 속성입니다(파워셸을 통해 호출할 수 있음).

foreach (Process process in Process.GetProcesses())
{
   if (process.MainModule.FileName == location)
   {
       process.Kill();
   }
}

또한 이 코드를 호출하는 동안 발생할 수 있는 예외도 고려하겠습니다.권한이 없는 동안 더 이상 존재하지 않는(GetProcess가 마지막으로 호출된 이후 중지됨) 프로세스 또는 에 대한 프로세스에 액세스하려고 할 때 이 문제가 발생할 수 있습니다.

사용해 보십시오. http://technet.microsoft.com/en-us/library/ee177004.aspx

Stop-Process -processname notepad

다음 명령은 "something"이 경로의 일부이거나 명령줄 매개 변수인 프로세스를 종료합니다.또한 다음과 같은 파워셸 스크립트를 종료하는 데 유용합니다.
powershell -command c:\my-place\something.ps1입니다.something.ps1제자리에서c:\my-place:

gwmi win32_process | Where-Object {$_.CommandLine -like "*something*"}  | % { "$(Stop-Process $_.ProcessID)" }

이 솔루션은 64비트 윈도우즈 10 시스템에서 로컬로 작동합니다.

언급URL : https://stackoverflow.com/questions/10265869/kill-process-by-filename

반응형