실시간으로 결과를 표시하는 쉘 스크립트를 작성하는 방법은 무엇입니까?
이 같은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
파일 시스템을 읽습니다.