I use these 2 methods to monitor command execution at regular intervals. One by using the command “watch” and another by using a small while statement.
Using watch command:
# watch -n <time interval in seconds> “command” or just # watch “command”
Examples:
# watch -n 10 "cat /proc/meminfo | grep -i Mem" <- Watch Memory utilization at 10 seconds intervals
# watch -n 15 10 “du -sh | grep /somefilesystem” <- Watch disk utilization at 15 seconds interval.
# watch "ps aux|grep jboss" <- Watch jboss process with default time interval
Using while statement:
while true; do <commands separated by semicolon>; sleep <time interval in seconds>; done
Examples:
[adevaraju@hostxyz ~]$ while true; do cat /proc/meminfo | grep -i mem; uptime; echo; sleep 10; done
MemTotal: 4194480 kB
MemFree: 36776 kB
01:52:51 up 14 days, 9:07, 1 user, load average: 0.00, 0.00, 0.00
MemTotal: 4194480 kB
MemFree: 36652 kB
01:53:01 up 14 days, 9:07, 1 user, load average: 0.00, 0.00, 0.00
MemTotal: 4194480 kB
MemFree: 36776 kB
01:53:11 up 14 days, 9:07, 1 user, load average: 0.00, 0.00, 0.00
# while true; do echo Current time is `date "+%H Hour: %M Minutes: %S Seconds"`; sleep 4; done
Current time is 01 Hour: 47 Minutes: 26 Seconds
Current time is 01 Hour: 47 Minutes: 30 Seconds
Current time is 01 Hour: 47 Minutes: 34 Seconds
Current time is 01 Hour: 47 Minutes: 38 Seconds
Current time is 01 Hour: 47 Minutes: 42 Seconds
Current time is 01 Hour: 47 Minutes: 46 Seconds
Current time is 01 Hour: 47 Minutes: 50 Seconds
Current time is 01 Hour: 47 Minutes: 54 Seconds
Current time is 01 Hour: 47 Minutes: 58 Seconds
Current time is 01 Hour: 48 Minutes: 02 Seconds
Current time is 01 Hour: 48 Minutes: 06 Seconds
#
PS: “watch” command wouldn’t work properly if the command sets are complex. It will just display the result of first iteration and stay there forever.
Using watch command:
# watch -n <time interval in seconds> “command” or just # watch “command”
Examples:
# watch -n 10 "cat /proc/meminfo | grep -i Mem" <- Watch Memory utilization at 10 seconds intervals
# watch -n 15 10 “du -sh | grep /somefilesystem” <- Watch disk utilization at 15 seconds interval.
# watch "ps aux|grep jboss" <- Watch jboss process with default time interval
Using while statement:
while true; do <commands separated by semicolon>; sleep <time interval in seconds>; done
Examples:
[adevaraju@hostxyz ~]$ while true; do cat /proc/meminfo | grep -i mem; uptime; echo; sleep 10; done
MemTotal: 4194480 kB
MemFree: 36776 kB
01:52:51 up 14 days, 9:07, 1 user, load average: 0.00, 0.00, 0.00
MemTotal: 4194480 kB
MemFree: 36652 kB
01:53:01 up 14 days, 9:07, 1 user, load average: 0.00, 0.00, 0.00
MemTotal: 4194480 kB
MemFree: 36776 kB
01:53:11 up 14 days, 9:07, 1 user, load average: 0.00, 0.00, 0.00
# while true; do echo Current time is `date "+%H Hour: %M Minutes: %S Seconds"`; sleep 4; done
Current time is 01 Hour: 47 Minutes: 26 Seconds
Current time is 01 Hour: 47 Minutes: 30 Seconds
Current time is 01 Hour: 47 Minutes: 34 Seconds
Current time is 01 Hour: 47 Minutes: 38 Seconds
Current time is 01 Hour: 47 Minutes: 42 Seconds
Current time is 01 Hour: 47 Minutes: 46 Seconds
Current time is 01 Hour: 47 Minutes: 50 Seconds
Current time is 01 Hour: 47 Minutes: 54 Seconds
Current time is 01 Hour: 47 Minutes: 58 Seconds
Current time is 01 Hour: 48 Minutes: 02 Seconds
Current time is 01 Hour: 48 Minutes: 06 Seconds
#
PS: “watch” command wouldn’t work properly if the command sets are complex. It will just display the result of first iteration and stay there forever.