watch 是一個可以定期執行指令的實用工具,臨時需要定期執行指令時特別有用。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
Usage:
watch [options] command
Options:
-b, --beep beep if command has a non-zero exit
-c, --color interpret ANSI color and style sequences
-d, --differences[=<permanent>]
highlight changes between updates
-e, --errexit exit if command has a non-zero exit
-g, --chgexit exit when output from command changes
-n, --interval <secs> seconds to wait between updates
-p, --precise attempt run command in precise intervals
-t, --no-title turn off header
-x, --exec pass command to exec instead of "sh -c"
-h, --help display this help and exit
-v, --version output version information and exit
|
安裝 watch
watch 是 procps 套件內的其中一個指令,基本上現在多數的 Linux 發行版預設的系統套件就包含了 procps。如果系統預設並沒有安裝的話,可以利用套件管理工具安裝,或是到 procps 的 GitLab 下載原始碼編譯安裝。
在 Ubuntu 下可輸入 sudo apt install procps
進行安裝。
使用方式
這裡簡單說明兩個常用的參數:
-n
:更新間隔時間,時間精細度可支援到 0.1 秒。
-d
:每次畫面更新時,將產生差異的部分輸出反白顯示。
範例:watch -n 5 netstat
/ 每 5 秒執行一次 netstat
,監控連線狀態:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
Every 5.0s: netstat -atpun Mon Jul 2 13:54:51 2018
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:4000 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6379 0.0.0.0:* LISTEN -
tcp 0 0 10.10.3.63:22 10.10.3.46:52454 ESTABLISHED -
tcp6 0 0 :::21 :::* LISTEN -
tcp6 0 0 :::22 :::* LISTEN -
tcp6 0 0 ::1:631 :::* LISTEN -
tcp6 0 0 :::3306 :::* LISTEN -
tcp6 0 0 :::80 :::* LISTEN -
udp 0 0 0.0.0.0:631 0.0.0.0:* -
udp 0 0 127.0.0.1:50197 127.0.0.1:9995 ESTABLISHED -
udp 0 0 0.0.0.0:33833 0.0.0.0:* -
udp 0 0 0.0.0.0:5353 0.0.0.0:* -
udp 0 0 0.0.0.0:68 0.0.0.0:* -
udp6 0 0 :::5353 :::* -
udp6 0 0 :::44286 :::* -
|
References: