###前提・実現したいこと
子シェルをバックグラウンドで実行した場合、
起動ができたかどうかを確認する方法についてご教授ください。
子シェルをバックグランドで実行した際、
実行できたかどうかを「$?」を使用してできると思っていたのですが、
実際に試してみたところ、できませんでした。
子シェルが実行できた場合は「$?」に「0」が入るのですが、
子シェルが実行できなかった場合も「$?」に「0」が入ってしまいます。
子シェルを起動できたかどうかを確認する方法がございましたらご教授ください。
####子シェル(child.sh)が実行できた場合
./child.sh & echo $? 結果:「0」が表示される
###子シェル(child.sh)が実行できなかった場合(シェル名間違い)
./chld.sh & echo $? 結果:「-bash: ./chld.sh: そのようなファイルやディレクトリはありません」と表示され「0」が表示される
###最終的にしたいこと
最終的には、バックグラウンドで起動できたかを変数に代入して その変数を使用して条件分岐をしたいです。 ① バックグラウンドで子シェルを実行 ② ①の処理が正しく実行できたか判定 ├実行できた場合・・・後続の処理を実行 └実行できなかった場合・・・処理を強制終了する
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/18 14:45