SOFTELメモ

</> 技術者募集

【linux】watchコマンドで少し複雑な処理をする

問題

コマンド1個のwatchは簡単ですが、パイプ | でつないだ処理などの場合はどう書きますか。

$ watch df
Every 2.0s: df                                                                                                                                  Fri Mar  2 10:40:31 2018

Filesystem           1K-        %
/dev/mapper/VolGroup00-LogVol00
                     197876736  82033424 105629528  44% /
/dev/xvda1              101086     21112     74755  23% /boot
tmpfs                  1624152         0   1624152   0% /dev/shm

bash

答え

ダブルクォーテーションで囲むとよいです。

以下の例は、httpdのプロセスを2秒おきに確認できます。

$ watch "ps aux | grep httpd"

Every 2.0s: ps aux | grep httpd                                                                                                                 Fri Mar  2 10:41:46 2018

root      2222  0.0  0.3 107904 11524 ?        Ss   Feb09   0:00 /usr/local/apache2/bin/httpd -k start
wwwadmin  7255  0.0  0.4 112164 14428 ?        S    Feb25   0:00 /usr/local/apache2/bin/httpd -k start
wwwadmin  9864  0.0  0.3 110628 12792 ?        S    Feb25   0:00 /usr/local/apache2/bin/httpd -k start
wwwadmin  9865  0.0  0.4 112172 14356 ?        S    Feb25   0:00 /usr/local/apache2/bin/httpd -k start
wwwadmin  9866  0.0  0.7 122200 24368 ?        S    Feb25   0:00 /usr/local/apache2/bin/httpd -k start
wwwadmin  9867  0.0  0.4 112248 14480 ?        S    Feb25   0:00 /usr/local/apache2/bin/httpd -k start
wwwadmin 13936  0.0  0.4 112172 14352 ?        S    Mar01   0:00 /usr/local/apache2/bin/httpd -k start
wwwadmin 17666  0.0  0.4 110960 13192 ?        S    Mar01   0:00 /usr/local/apache2/bin/httpd -k start
wwwadmin 23160  0.0  0.4 111396 13572 ?        S    09:19   0:00 /usr/local/apache2/bin/httpd -k start
root     27644  0.0  0.0   5088   928 pts/0    S+   10:41   0:00 watch ps aux | grep httpd
root     27660  0.0  0.0   5532   992 pts/0    R+   10:41   0:00 sh -c ps aux | grep httpd
wwwadmin 30509  0.0  0.4 111052 13240 ?        S    Feb26   0:00 /usr/local/apache2/bin/httpd -k start
wwwadmin 30511  0.0  0.4 112192 14444 ?        S    Feb26   0:00 /usr/local/apache2/bin/httpd -k start

関連するメモ

コメント