へー、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 |