逆引きシェルスクリプト/複数のプロセスが終了するまで待機する・wait
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* 複数のプロセスが終了するまで待機する・waitコマンド [#z3...
シェルの組込みコマンドであるwaitコマンドを使用すると、バ...
以下にwaitコマンドを使用した例を記します。~
本資料では、CentOSを使用しシェルはbashを利用しました。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連記事 [#x0e95f02]
-[[seqコマンドの桁あわせ>逆引きUNIXコマンド/seqコマンドの...
-[[開始値から終了値までの数値を出力する方法・seqコマンド>...
-[[実行するシェルスクリプト名を取得する・basenameコマンド...
* whichでみつからないwaitコマンド [#x3da3d9b]
waitコマンドはシェルの組込みコマンドなのでwhichでwaitコマ...
$ which wait
/usr/bin/which: no wait in (/usr/lib/qt-3.3/bin:/usr/ker...
* waitコマンドを使用した簡単なシェルスクリプトで実験 [#g5...
親(parent.sh)と子のシェルスクリプト(child.sh)を2つ作成し...
parent.shからchild.shを複数バックグラウンドで起動(&を付け...
バックグランドで動作していたchild.shが全て終了するとparen...
以下に2つのシェルを記します。
** waitコマンド動作確認用シェルスクリプト [#bf62d27f]
以下にwatiコマンド動作確認用シェルスクリプトを記します。
- parent.sh
#ref(parent.sh)
#!/bin/bash
./child.sh sakura 3 &
./child.sh tsubaki 2 &
./child.sh suzuran 1 &
wait
echo script is finished.
#br
parent.shは、child.shをバックグラウンドで起動します。~
1つ目の引数は画面に表示する文字列、2つ目の引数は繰り返し...
本スクリプトでは、child.shを3つ起動しています。
- child.sh
#ref(child.sh)
#!/bin/bash
if [ $# -ne 2 ]; then
echo "Usage: `basename $0` <message> <repeat count>"
exit 1
fi
for i in `seq 1 $2`
do
echo $1
sleep 1
done
exit 0
#br
child.shは、1つ目の引数をechoで表示し、2つ目の引数分echo...
表示後sleepにより1秒停止します。
** waitコマンド動作確認用シェルスクリプトを動かしてみる [...
parent.shを起動すると以下のように出力されます。~
出力結果だけを見るとwaitコマンドの動作がわからないのです...
2つ目の引数分、メッセージを表示しています。~
3つのchild.shが終了したらscript is finishedが表示されます。
$ chmod +x parent.sh child.sh
$ ./parent.sh
sakura
tsubaki
suzuran
sakura
tsubaki
sakura
script is finished.
以上、シェルの組込みコマンドであるwaitコマンドについての...
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
終了行:
#navi(../)
* 複数のプロセスが終了するまで待機する・waitコマンド [#z3...
シェルの組込みコマンドであるwaitコマンドを使用すると、バ...
以下にwaitコマンドを使用した例を記します。~
本資料では、CentOSを使用しシェルはbashを利用しました。
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* 関連記事 [#x0e95f02]
-[[seqコマンドの桁あわせ>逆引きUNIXコマンド/seqコマンドの...
-[[開始値から終了値までの数値を出力する方法・seqコマンド>...
-[[実行するシェルスクリプト名を取得する・basenameコマンド...
* whichでみつからないwaitコマンド [#x3da3d9b]
waitコマンドはシェルの組込みコマンドなのでwhichでwaitコマ...
$ which wait
/usr/bin/which: no wait in (/usr/lib/qt-3.3/bin:/usr/ker...
* waitコマンドを使用した簡単なシェルスクリプトで実験 [#g5...
親(parent.sh)と子のシェルスクリプト(child.sh)を2つ作成し...
parent.shからchild.shを複数バックグラウンドで起動(&を付け...
バックグランドで動作していたchild.shが全て終了するとparen...
以下に2つのシェルを記します。
** waitコマンド動作確認用シェルスクリプト [#bf62d27f]
以下にwatiコマンド動作確認用シェルスクリプトを記します。
- parent.sh
#ref(parent.sh)
#!/bin/bash
./child.sh sakura 3 &
./child.sh tsubaki 2 &
./child.sh suzuran 1 &
wait
echo script is finished.
#br
parent.shは、child.shをバックグラウンドで起動します。~
1つ目の引数は画面に表示する文字列、2つ目の引数は繰り返し...
本スクリプトでは、child.shを3つ起動しています。
- child.sh
#ref(child.sh)
#!/bin/bash
if [ $# -ne 2 ]; then
echo "Usage: `basename $0` <message> <repeat count>"
exit 1
fi
for i in `seq 1 $2`
do
echo $1
sleep 1
done
exit 0
#br
child.shは、1つ目の引数をechoで表示し、2つ目の引数分echo...
表示後sleepにより1秒停止します。
** waitコマンド動作確認用シェルスクリプトを動かしてみる [...
parent.shを起動すると以下のように出力されます。~
出力結果だけを見るとwaitコマンドの動作がわからないのです...
2つ目の引数分、メッセージを表示しています。~
3つのchild.shが終了したらscript is finishedが表示されます。
$ chmod +x parent.sh child.sh
$ ./parent.sh
sakura
tsubaki
suzuran
sakura
tsubaki
sakura
script is finished.
以上、シェルの組込みコマンドであるwaitコマンドについての...
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
ページ名: