
나는 마침내 다음 명령을 생각해냈습니다.
tasklist /V /NH | find "test"
"자세한" 정보("창 제목"이 필요하므로 /V를 사용해야 함)와 함께 실행 중인 모든 프로세스를 나열하고, 헤더 줄을 건너뛴 다음 이를 "찾기"로 파이프하여 "테스트"가 포함된 프로세스만 일치시킵니다. "어딘가.
이 글을 입력하면서 tasklist에 의해 출력된 대로 전체 행의 어느 위치에서든 "테스트"를 확인한다는 것을 깨달았습니다. 이는 의도는 아니지만(창 제목 부분만 확인해야 함) 이는 부차적인 중요성입니다. "test"는 실제로 줄의 나머지 부분에 나타날 가능성이 거의 없는 여러 공백이 있는 문자열이기 때문에 실제로는 일치하지 않습니다.
어쨌든, 위의 명령은 실행하는 데 말 그대로 몇 초가 걸리며 "찾기"를 위한 파이프 때문이 아닙니다. 왜냐하면 파이프 없이 시도했기 때문입니다. 이 정보를 가져오는 속도가 매우 느리기 때문에 RAM에서 쉽게 사용할 수 있어 거의 답을 얻을 수 있을 것이라고 생각합니다.~ 전에명령을 실행하지만 분명히 그들은 디스크 저장소의 큰 덩어리를 읽는 것처럼 보이는 복잡한 논리를 수행하고 있는 것 같습니다. (매번 로딩되는 시간을 어떻게 설명할 수 있을까요?)
"tasklist"에 대한 매뉴얼을 읽었을 때 "창 제목"에만 관심이 있고 그것이 출력되기를 원하는 전부임을 지정할 수 있는 방법이 없습니다(더 빠를 수도 있음).
특정 "이미지"(EXE)로 필터링하면 훨씬 더 빠르다는 것을 알았지만 "창 제목"("프로세스 제목"이라고도 함)만 확인/관심해야 하기 때문에 이를 원하지 않습니다. ).
좋은 아이디어가 있나요?
답변1
를 사용하여 창 제목을 기준으로 필터링할 수 있습니다 /FI "WINDOWTITLE eq Window Name"
. 훨씬 빠르지는 않지만.
PowerShell을 사용하면 동일하지만 훨씬 더 빠르게 결과를 얻을 수 있습니다.
get-process | where-object {$_.mainWindowTitle -like "test*"}
1초 정도 안에 완료됩니다.