내 문제는 스크립트를 실행할 때 아래 명령을 지나 계속된다는 것입니다.
top -b > output.txt
머신의 데이터가 상당히 크기 때문에 출력에서 전체 CPU 통계 스택을 검색하는 데 시간이 걸립니다 top
. 일부는 즉시 출력되고 나머지는 가져오는 데 약간의 시간이 걸립니다. (저는 터미널에서 top 명령을 직접 실행하여 확인했습니다.)
모든 CPU 통계 등이 검색될 때까지 기다려야 합니다(예: 20초). 그런 다음 top
20초 후에 출력을 가져와서 output.txt로 출력해야 합니다.
나는 수면이 지연을 위해 사용된다는 것을 알고 있지만 이 경우에는 특히 어딘가에 필요한 것 같습니다.
답변1
나는 금세기의 기계가 단일 top
테이블을 생성하는 데 20초가 걸릴 것이라고 매우 의심합니다. 문제는 top
간격을 두고 출력을 인쇄하도록 지시했다는 것입니다.영원히, 버퍼링으로 인해 해당 출력이 즉시 기록되지 않습니다. 대신 시도해 보세요 top -b -n1 > output.txt
.
답변2
명령 을 사용해보십시오 wait
.
이와 같이:
top -bn 1 > output.txt & wait
계속 진행하기 전에 해당 프로세스가 완료될 때까지 기다려야 합니다.