OS/Linux

command line 주기적 monitoring

아르비스 2016. 6. 22. 11:12

console 상에서 특정 값의 변화를 주기적으로 모니터링 해야 할 때가 있다.

이런경우 변경 확인을 위해 매번 모니터를 보고 있기 힘들다.

이럴때 쓰는 것이 Watch 이다.



[이름]

watch - 프로그램을 주기적으로 실행하여, 전체 스크린으로 출력 


[사용법]

watch [-dhvt] [-n ] [--differences[=cumulative]] [--help] [--interval=] [--no-title] [--version] 


[설명]

watch 는 반복해서 command 명령을 수행하여 결과를 출력한다. 처음 수행시 전체화면. 이렇게 하여 프로그램의 결과가 시간에 따라 변화하는 것을 볼 수 있다. 기본적으로 프로그램은 2초 마다 다시 실행된다. 실행간격을 바꾸려면 -n 이나 --interval 옵션으로 지정하면 된다. 

-d 또는 --differences 옵션은 이어지는 실행결과들간의 차이를 강조하여 보여준다. --cumulative(누적) 옵션은 하이라이트가 계속 머물러 있도록 하여, 변화된 결과가 모두 표시되어 나타난다. -t 또는 --no-title 옵션은 기본적으로 맨 위에 뿌려주는 실행주기, 명령어, 현재시간, 그리고 그 아래 오는 빈칸을 생략하고 프로그램의 결과만 보여준다. 

watch 는 인터럽트될 때까지 계속 실행된다. (종료 : Ctrl+g)


[실행 예제]


# watch -n 5 -d 'netstat -anp | grep 3306 | grep PID | wc -l'


[설명]

watch -n 5  ( 5초마다 실행 ) 

-d   (차이점은 음영으로 표시)

netstat -anp  (network connected, listenning 상태, PID 확인)

grep (필터링)

wc -l (개수 파악)