프로세스를 종료하기 위해 Windows .bat 파일을 작성하는 방법은 무엇입니까? [닫은]


114

회사 소유 개발 시스템을 켤 때마다 IDE에서 적절한 성능을 얻기 위해 작업 관리자 또는 기타 프로세스 관리 앱을 사용하여 10 개 이상의 프로세스를 종료해야합니다. 예, 보안 및 규정 준수를 위해 회사에서 내 컴퓨터에 설치하는 프로그램의 프로세스입니다. 내가하고 싶은 것은 문제의 프로세스를 죽일 수있는 .bat 파일이나 스크립트가있는 것입니다.

아무도 이것을하는 방법을 알고 있습니까?


이는 자동화 환경에있을 때도 유용해야하며 적절한 시간 내에 완료 또는 응답하지 못하는 경우 런 어웨이 하위 프로세스를 종료해야합니다.
Danny Staple

저는이 질문 링크를 저의 모든 직접 동료들에게 게시했습니다. 우리는 약 2000 명의 엔지니어가있는 회사에서 약 20 명의 S / W 개발자 (CAD 작업)이기 때문입니다. (보안 정책으로 인해) 업무를 거의 수행 할 수 없기 때문에 IT 관리 부서와 영구적으로 어려움을 겪고 있습니다 ... (기술적으로는 도움이되지 않지만 다른 S / W 개발자도 비슷한 문제가있는 것 같다는 소식을 듣고 반갑습니다. .)
Scheff

답변:


171

' taskkill '을 사용 하여이를 수행 할 수 있습니다 . / IM 매개 변수를 사용하여 이미지 이름을 지정할 수 있습니다.

예:

taskkill /im somecorporateprocess.exe

이를 ' 강제 '죽일 수도 있습니다.

예:

taskkill /f /im somecorporateprocess.exe

종료하려는 프로세스 당 한 줄을 추가하고 .bat 파일로 저장 한 다음 시작 디렉터리에 추가하면됩니다. 문제 해결됨!

이것이 레거시 시스템 인 경우 PsKill 은 동일한 작업을 수행합니다.


34
LOL- "somecorporateprocess.exe"는 기업 IT와 개발 팀의 단절을 거의 요약합니다.
maplemale

8
나는 그들의 이름 taskkill /F /IM <processname.exe> /T으로 모든 프로세스 를 강제 종료 하는 데 성공 했습니다.
Benj

백그라운드 종료 프로세스를 위해 win10에서 작동하지 않습니다. win 10의 모든 백그라운드 프로세스가 명명 RuntimeBroker.exe되고 죽일 때 아무 일도 일어나지 않았습니다.
Mostafa

106
taskkill /f /im "devenv.exe"

이것은 "devenv.exe"라는 exe 이름을 가진 pid를 강제로 죽일 것입니다.

nix'y kill 명령에서 -9에 해당


3
명령에 / f 플래그를 추가 할 때까지 작동하지 않았습니다. 감사합니다!
Denis M. Kitchen

4
이것은 제공된 이름을 가진 모든 항목을 죽일 것 입니다. 특히 프로그램이 백그라운드에서 notepad.exe를 1000 번 역 실행하고 열 때 편리합니다. :] * ahem *
Richard de Wit

8

일부 Home / basic 버전의 Windows에서는 TASKKILL을 사용하지 못할 수 있으므로 몇 가지 대안은 다음과 같습니다.

TSKILL processName

또는

TSKILL PID

접미사 가 processName없어야 .exe하며 18 자로 제한됩니다.

또 다른 옵션은 WMIC다음과 같습니다.

wmic Path win32_process Where "Caption Like 'MyProcess%.exe'" Call Terminate

wmic은 SQL과 유사한 매처를 사용하여 taskkill보다 훨씬 더 많은 유연성을 제공 wmic Path win32_process get합니다. 사용 가능한 파일을 필터링 %할 수 있으며 와일드 카드로 사용할 수 있습니다.


5

저는 개발자로서 컴퓨터에 대해 어느 정도의 관리 제어 권한이 있다고 가정합니다. 그렇다면 명령 줄에서 msconfig.exe를 실행합니다. 시작부터 많은 프로세스를 제거 할 수 있으므로 위에서 언급 한 솔루션으로 프로세스를 종료 할 필요가 없습니다.


5

Sony Rootkit을 발견 한 Sysinternals 담당자 Mark Russinovich로부터 Autoruns 를 받으십시오 . 자동으로 시작되는 작업을 정리하는 데 사용한 최고의 소프트웨어입니다.


4

PSKill을 다운로드 합니다 . 죽은 각 프로세스에 대해 호출하는 배치 파일을 작성하고 각 프로세스의 이름을 전달하십시오.


1

Powershell을 사용하십시오! 프로세스 관리를위한 기본 제공 cmdlet입니다. 여기 (어려운 방법), 여기 (내장) 및 여기 (추가)의 예.


0

조건에서 작동하는 아래 논리를 찾으십시오.

단순히를 호출 taskkill /im applicationname.exe하면이 프로세스가 실행중인 경우에만 종료됩니다. 이 프로세스가 실행 중이 아니면 오류가 발생합니다.

to check before takskill가 호출되면 taskkill프로세스가 실행 중일 때만 execute 가 실행 되는지 확인하여 오류가 발생하지 않도록 할 수 있습니다.

tasklist /fi "imagename eq applicationname.exe" |find ":" > nul

if errorlevel 1 taskkill /f /im "applicationname.exe"

1
쉽게 단지의 오류 메시지 리디렉션 taskkillnul
스테판

0

여기에 cmd명령 줄 프롬프트에 붙여 넣을 수 있고 chrome.exe.

FOR /F "tokens=2 delims= " %P IN ('tasklist /FO Table /M "chrome*" /NH') DO (TASKKILL /PID %P)

for PID는 아래 tasklist명령 에 나열된 모든 s를 가져 와서 TASKKILL /PID매번 실행 합니다.PID

tasklist /FO Table /M "chrome*" /NH

배치 파일에서 for를 사용하는 경우 % P 대신 %% P를 사용하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.