Windows 명령 프롬프트-마우스 다운 중 일시 중지


2

프롬프트의 스크롤 막대에서 마우스를 누르면 ( dir /a /s c:\예 : 긴 명령 ) 출력이 일시 중지 된 것처럼 보입니다.

뿐만 아니라 cmd.exe마우스가 유지 되는 한 CPU 사용량은 0으로 떨어집니다. 해제되면 CPU 사용량이 정상으로 돌아갑니다.

이것은 마우스 다운 중에 터미널 명령이 이런 식으로 일시 중지 되었음을 의미합니까 ? 아니면 출력이 단순히 일시 중지 되었습니까? CPU 사용량 부족은 프로세스 중단을 의심스럽게 여깁니다.


dir / s를하고 xp의 스크롤 막대 중간에 마우스를 누르고 있으면 출력이 계속되고 출력은 계속 전달됩니다. 텍스트로 생각하면 스크롤 막대를 잡고 있으면 페이지 업과 같습니다. 어쨌든 그것은 나와 내 시스템에 대한 cmd 프롬프트로 보입니다. 출력이 스크롤되는 것처럼 보이지만 마우스를 누르고 있으면 효과가 페이지를 자주 두드리는 것 같습니다. 그러나 페이지 업을 누르는 것보다 빠르게 아래로 스크롤됩니다. 따라서 스크롤 표시기 항목은 여전히 ​​맨 아래에 있지만 스크롤 막대에 활동이 표시됩니다
barlop

출력 일시 중지 또는 CPU 사용량 변경이 표시되지 않습니다. dir / s 중에 스크롤 막대에서 마우스를 누르기 전에 CPU 사용량이 0이 아니었고 이후에도 여전히 0이 아닙니다.
barlop

그래도 출력이 일부 명령으로 일시 중지 된 것을 보았을 것입니다. 아마도, 아마도 wget과 함께 확실하지 않지만 cmd 프롬프트 CPU 사용량이 0으로 바뀌지 않는다고 생각합니다. 다시 한 번 계속 볼 수 있습니다. 설명한 내용을 재현 할 수 없습니다.
barlop

또한 wget 경우에는 클릭하지 않고 클릭한다고 생각합니다.
barlop

답변:


3

기술적으로 스크롤 막대를 누르고 있으면 출력 표시 만 일시 중지됩니다. 콘솔 서브 시스템은 출력 버퍼에서 읽기를 표시하고 표시를 일시적으로 중지합니다. 그러나 프로세스는 계속 실행되고 있으며 출력 버퍼가 매우 빨리 채워져 버퍼가 가득 찬 동안 모든 추가 write ()의 "블록"을 만듭니다. 이것이 프로세스가 일시 중지 된 것처럼 보이게하는 것입니다.


(두 가지 구성 요소가 있습니다 - 콘솔 프로그램 . 내부의 실행은 "명령 프롬프트"단지입니다 cmd.exe명령 인터프리터하지만, 스크롤바와 함께 창이 CSRSS으로 표시됩니다.


1

예라고 말하면 스크롤 막대를 이동하는 동안 프로세스가 일시 중단됩니다. robocopy로 복사 할 때 복사에서 오류를 발견 한 파일을보기 위해 창을 위로 스크롤하면 robocopy는 스크롤이 완료 될 때까지 기다렸다가 마우스 버튼을 놓습니다. 스크롤바를 제어하는 ​​동안 robocopy에서 하드 드라이브 또는 네트워크 활동이 없습니다. 스크롤 막대를 놓으면 맨 아래로 이동하고 robocopy는 그대로 유지됩니다.


1

우리는 결정적 일 수 있습니다.

ver|time > time1.txt && dir /s && ver|time > time2.txt

출력 일시 중지 여부에 관계없이이 작업을 실행하면 처리 시간이 더 오래 걸립니다. 출력이 일시 중지되는 것은 아닙니다.

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