Hirozak Blog

[Linux] 話題のyesコマンドを試してみた

参考:LinuxでCPU使用率を上げるコマンド

へー、YESコマンドなんてあるんや。

$ man yes

yes(1)                                                                  yes(1)

名前
yes – kill されるまで文字列を繰り返して出力する

書式
yes [string…]

yes [–help] [–version]

説明
yes はコマンドライン引数をスペースで区切って末尾に改行 (newline) を付加し、 kill されるまで繰り返して表示する。引数が一つも与えられないと、 yes は ‘y’ に
改行を付加したものを kill されるまで表示しつづける。

オプション
GNU yes が引数一つだけで起動された場合には、以下のオプションが認識される:

–help 標準出力に使用方法のメッセージを出力して正常終了する。

–version
標準出力にバージョン情報を出力して正常終了する。

なるほど。

実際にCPU使用率が上がるか試してみた。1CPUの環境です。

$ yes > /dev/null &
[1] 27260
$  yes > /dev/null &
[2] 27261

$ vmstat 5

0  0  procs ———–memory———- —swap– —–io—- –system– —–cpu—–
r b swpd free buff cache si so bi bo in cs us sy id wa st
68092 1867280  11212 363364    0    0     0    10  132  113  1  1 91  7  0
0  0  68092 1867652  11224 363364    0    0     0     4   89   96  0  0 87 12  0
0  1  68092 1867036  11264 363384    0    0     0    33  768  504  6  8 62 25  0
0  1  68092 1866604  11320 363404    0    0     0    54  130  141  0  1 64 35  0
1  1  68092 1867280  11348 363424    0    0     0    23   86   96  0  0 89 10  0
3  0  68092 1864180  11348 363428    0    0     0    16 1172  118 57  2 35  6  0★このあたりでコマンド実行
4  0  68092 1836104  11356 363460    0    0     0     3 1700  278 88 12  0  0  0 ★たしかにCPU100%になった
2  0  68092 1866704  11364 363428    0    0     0     8 1759  340 91  9  0  0  0
2  0  68092 1867116  11372 363428    0    0     0     9 1682   99 98  2  0  0  0
2  0  68092 1867264  11380 363428    0    0     0     3 1687   92 97  3  0  0  0
2  0  68092 1864432  11396 363432    0    0     0    27 1754  204 95  5  0  0  0

終わった後は、きちんとkill

$ kill -9 27260 27261
-bash: printf: write error: システムコール割り込み
[1]-  強制終了            yes > /dev/null
[2]+  強制終了            yes > /dev/null

 

おまけ、その1。普通に使ってみた。

$ yes yes we can
yes we can
yes we can
yes we can
yes we can
yes we can
yes we can
yes we can
yes we can
yes we can
yes we can

おー、当時の熱狂を思い出すねw

 

おまけ、その2。

$ yes –version
yes (GNU coreutils) 8.4
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

作者 David MacKenzie.

version 8ってw

 

オバマ Yes We Can!
ロバータ・エドワーズ 日当陽子

岩崎書店 2009-01-09
売り上げランキング : 587647

Amazonで詳しく見る by G-Tools