반응형

Visual Studio에서 빌드시 프로세스가 실행중이면 빌드가 실패하기 때문에 빌드전 이벤트에 프로세스를 종료하는 빌드이벤트를 추가해야하는 경우가 있다. 

 

C++ 프로젝트에서는 taskkill /F /IM "Test.exe" 만 해줘도 프로세스가 있거나 없거나 잘 진행되지만 .Net 프로젝트에서는 프로세스가 실행중이 아니면 에러로 처리되기 때문에 아래와 같이 옵션을 더 주어야 한다

// 특정 프로세스를 종료하고 싶을때
taskkill /F /IM "Test.exe" /fi "memusage gt 2"

// 프로젝트 자신의 프로세스를 종료할때
taskkill /F /IM "$(TargetFileName)" /fi "memusage gt 2"

실제 cmd에서 taskkill을 해보면 추가 파라미터가 없는 경우 오류로 처리되는것을 확인할수 있다.

 

 

 

Taskkill에 대한 MSDN 참조

https://docs.microsoft.com/ko-kr/windows-server/administration/windows-commands/taskkill

 

taskkill

하나 이상의 작업 또는 프로세스를 종료하는 taskkill 명령에 대한 참조 문서입니다.

docs.microsoft.com

 

구문

taskkill [/s <computer> [/u [<domain>\]<username> [/p [<password>]]]] {[/fi <filter>] [...] [/pid <processID> | /im <imagename>]} [/f] [/t]

매개 변수

매개 변수
/s <computer> 이름 또는 원격 컴퓨터의 IP 주소를 지정 합니다 (백슬래시를 사용 하지 않습니다). 기본값은 로컬 컴퓨터입니다.
/u <domain>\<username> 에 의해 <username> 지정되거나 <domain>\<username>지정된 사용자의 계정 권한으로 명령을 실행합니다. /s도 지정된 경우에만 /u 매개 변수를 지정할 수 있습니다. 기본값은 명령을 실행 하는 컴퓨터에 현재 로그온 한 사용자의 사용 권한입니다.
/p <password> 에 지정 된 사용자 계정의 암호를 지정 된 /u 매개 변수입니다.
/fi <filter> 작업 집합을 선택 하는 필터를 적용 합니다. 여러 필터를 사용 하거나 와일드 카드 문자를 사용할 수 있습니다 (*) 이미지 이름을 또는 모든 작업을 지정 합니다. 유효한 필터는 이 문서의 필터 이름, 연산자 및 값 섹션에 나열됩니다.
/pid <processID> 종료할 프로세스의 프로세스 ID를 지정 합니다.
/im <imagename> 종료할 프로세스의 이미지 이름을 지정 합니다. 와일드 카드 문자를 사용 하 여 (*) 모든 이미지 이름을 지정 합니다.
/f 프로세스가 강제로 종료되도록 지정합니다. 이 매개 변수는 원격 프로세스에 대해 무시됩니다. 모든 원격 프로세스는 강제로 종료됩니다.
/t 지정된 프로세스와 해당 프로세스에서 시작된 모든 자식 프로세스를 종료합니다.

 

반응형

'[====== Development ======] > Etc' 카테고리의 다른 글

Ubuntu 설치된 패키지 확인  (0) 2022.07.15
리눅스 특정 포트 사용 App 확인  (0) 2022.07.15
Visual Studio Extension [Output enhancer]  (0) 2022.03.08
React Developer Tools  (0) 2022.01.11
Chrome Extention  (0) 2022.01.11

+ Recent posts