Skip to content

Instantly share code, notes, and snippets.

@shoyan shoyan/wait_process.sh
Last active Nov 26, 2018

Embed
What would you like to do?
別プロセスの結果を取得するシェルスクリプトのサンプル
#!/bin/bash
command1() {
echo "executing commnad1"
sleep 3
}
command2() {
echo "executing commnad2"
sleep 3
# エラーとして終了させる
exit 1
}
echo "start"
# バックグラウンドで実行
command1 &
# $!で直前に実行されたコマンドのプロセスIDを取得し、変数に保存している
pid1=$!
command2 &
pid2=$!
# waitは指定されたプロセスIDの処理が終わるまで待つ
wait $pid1
# $?でwaitで指定しているプロセスの終了ステータスを取得することができる
if [ $? != 0 ]; then
echo "command1 error"
exit $?
else
echo "commnad1 success"
fi
wait $pid2
if [ $? != 0 ]; then
echo "command2 error"
exit $?
else
echo "command2 success"
fi
echo "end"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.