Pragmatism in the real world

The watch Linux command line tool

I’m sure everyone else already knows about watch, but it’s new to me. This little utility executes a program repeatedly at a set interval and displays its output.

I’ve been using it with mysqladmin‘s processlist command like this:


watch -n 1 /usr/bin/mysqladmin -uroot -pMYPASSWORD processlist

Note that this does put your password on display at the top of the command window whilst watch is running. If you don’t want that, you could write a little bash script instead like this one from a friend of mine:


#!/bin/sh

while :
do
sleep 1
clear
mysqladmin -uroot -pMYPASSWORD processlist
done

Either way, we get a display of the MySQL process list every second in a Terminal window and it becomes very easy to see which processes are causing trouble.

7 thoughts on “The watch Linux command line tool

  1. While mytop and friends are better for this particular task, it is worth pointing out
    that mysql, mysqldump, etc. take an argument –defaults-file=filename. This allows you to put the user name & password in a file that won't show up in the process list.

    –Rob T.

  2. Thanks Rob!

    Of course, one reason that I post about what I've learnt is so that people who know more than I do can chip in :)

    Regards,

    Rob…

  3. Do while was not necessary.
    lestr@lestr-nb:~$ export MYUSER="root"
    lestr@lestr-nb:~$ echo $MYUSER
    root
    lestr@lestr-nb:~$ mysqladmin -u $MYUSER processlist
    +—–+——+———–+—-+———+——+——-+——————+
    | Id | User | Host | db | Command | Time | State | Info |
    +—–+——+———–+—-+———+——+——-+——————+
    | 218 | root | localhost | | Query | 0 | | show processlist |
    +—–+——+———–+—-+———+——+——-+——————+
    lestr@lestr-nb:~$

    But mtop is better : ))

Comments are closed.