쉘 스크립트를 통해 터미널에 실시간 결과를 표시하려면 어떻게 해야 합니까?

쉘 스크립트를 통해 터미널에 실시간 결과를 표시하려면 어떻게 해야 합니까?

실시간으로 결과를 표시하는 쉘 스크립트를 작성하는 방법은 무엇입니까?

이 같은top고정된 시간 간격 후에 결과를 업데이트하는 명령입니다.

대체 텍스트

답변1

당신이 사용할 수있는시계(1)스크립트를 주기적으로 실행하는 명령:

watch -n 1 myscript.sh

이 작업은 1초마다 실행되며 myscript.sh각 실행 사이에 화면이 지워지고 모서리에 타임스탬프가 표시됩니다. 이 옵션을 사용할 수 -d있으며 각 실행에 대한 출력 차이도 강조 표시됩니다.

답변2

자신이 하려는 일에 대해 좀 더 구체적으로 설명하면 도움이 될 것입니다.

이것은극도로간단한 예:

while true
do
    clear
    date
    sleep 1
done

답변3

대부분의 데이터는 일반적으로 /proc 가상 파일 시스템 기본 요소에 노출됩니다. 각 프로세스에는 /proc 디렉토리에 PID라는 항목이 있습니다. 따라서 /proc/5437에는 5437 프로세스에 대한 기본 요소가 있습니다. 거기에서 기본 요소를 읽고 적절하게 구문 분석하면 최고의 기능에 가까워질 수 있습니다.

Top은 실제로 파일이 아닌 커널에서 직접 이 정보를 가져오는 특정 함수 호출을 호출하여 작동합니다. Bash에서 동일한 작업을 수행하려면 /proc 가상 파일 시스템에서 추출하거나 to와 같은 다른 호출에서 추출해야 합니다 ps.

실시간의 경우 이는 top에서 제공하는 세부 수준에서는 실현 가능하지 않습니다. 실시간처럼 보일 정도로 시간을 분할할 수 있지만 여전히 시간 분할을 얻게 됩니다.

답변4

top사용저주/proc파일 시스템을 읽습니다.

관련 정보