タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

shellに関するyoppiblogのブックマーク (3)

  • シェルスクリプト マルチスレッドっぽくバックグラウンド処理を同期させる « yukku++

    コマンドの最後に & を付けて、バックグラウンド処理へまわす $! で直前のバックグラウンド処理の pid を取得して変数へ保持 wait $hoe で指定した pid の処理の終了を待つ バックグラウンド処理はおなじみ hoe & で出来る。 この pid を取るには、直後で $! にアクセスすることで参照できる。 wait コマンドは、指定した pid のプロセスが終了するまで待ってくれる。 サンプル #!/bin/sh echo "[info] run multiple background proc." echo "[info] -----------------------------" _dummy_proc(){ sleep $1 ret=`expr $1 % 2` exit $ret } _dummy_proc 2 & pid1=$! _dummy_proc 3 & pid

  • シェルスクリプトで乱数を扱う - hyconの日記

    シェル組込変数 RANDOM bashやzshなど一部のシェルでは特殊な変数 RANDOM があり、参照する毎に範囲の小さい整数を得ることが出来ます。 $ echo $RANDOM 30940 $ echo $((RANDOM % 100)) 22 jot(1) jot(1)は連番や乱数を出力するプログラムです。出力回数や範囲を指定出来るのでなかなか使い出はあります。deb系では athena-jot パッケージをインストールします。 $ jot -r 1 10 99 72 $ jot -r 10 1000 9999 8881 2834 3537 5889 7430 9962 4905 9548 3575 9762 awk awkの関数 rand() で0–1の範囲の実数の乱数を扱えます。srand() で乱数の初期化することを忘れずに。 $ awk 'BEGIN{srand();prin

    シェルスクリプトで乱数を扱う - hyconの日記
  • シェル・スクリプトの同期・並列実行(マルチスレッド処理っぽいこと) - それマグで!

    シェル・スクリプトで、マルチスレッド処理っぽく、複数プロセスを起動して、まとめて処理をして処理時間を稼ぎたい。 wait コマンド 複数プロセスを起動してバックグラウンドに回し、wait で処理終了を待つことが出来る convet *.png out.jpg #なに手を加えない場合 バックグラウンドで大量に起動して処理を待つ for i in *.png ; do convert $i $i.jpg & ; done wait wait をすると、複数起動したバックグラウンド・ジョブをすべて待つことが出来ます。 同時実行制御 CONCURRENT_COUNT=3 NUM_PROCESS=0 for name in *.png ; do NUM_PROCESS=NUM_PROCESS+1 convert $name $name.jpg & if ( ( $NUM_PROCESS >= $CO

    シェル・スクリプトの同期・並列実行(マルチスレッド処理っぽいこと) - それマグで!
  • 1