작업 관리자에서 작업 종료는 작동하지만 cmd의 taskkill은 작동하지 않습니다. 왜?

작업 관리자에서 작업 종료는 작동하지만 cmd의 taskkill은 작동하지 않습니다. 왜?

영화 파일 트랜스코딩이 완료될 때마다 소프트웨어를 종료해야 합니다. 이를 자동화하기 위해 작은 배치 스크립트를 만들었습니다. 거기에서 나는 다음과 같이 taskkill을 사용하려고했습니다.

taskkill /im taskname.exe /t /f

하지만 항상 다음과 같은 오류 메시지가 나타납니다. 오류: PID 6708이 있는 프로세스를 종료할 수 없습니다. 이유: 실행 중인 작업 인스턴스가 없습니다.

또한 관리자 권한으로 cmd 창을 시작하려고 시도했고 PowerShell도 시도했습니다. 하지만 나중에 tasklist를 실행하면 여전히 해당 작업이 표시됩니다.

재미있는 점은 작업 관리자에서 작업을 마우스 오른쪽 버튼으로 클릭하고 작업을 종료하면 작업이 즉시 종료된다는 것입니다. 작업 관리자에서 "작업 종료"는 어떤 명령을 호출합니까? 배치 파일에서 자동화하는 데 사용할 수 있는 것이 있습니까?

답변1

에서 제안한대로barlop타사 명령줄 앱 nircmd.exe가 작업을 수행했습니다!

nircmd.exe killprocess processname

답변2

이름으로는 죽일 수 없지만 프로세스 ID가 있는 경우 PID로 죽일 수 있습니다.

for /f "delims== tokens=2" %%i in ('WMIC process where "Name='process.exe'" get ProcessId /value') do set pid=%%i 
echo Going to kill PID: %pid%
taskkill.exe /PID %pid%

관련 정보