Bashでバックグラウンドで起動したアプリの戻り値の取得 - Linux Square 検索すればすぐ見つかるんじゃないのかと思ったが意外にも出てこない。あまり知られていない機能なので仕方がないかも。 で、どうやればよいかというと、こうする。 foo 1 & foo1pid=$! foo 2 & foo2pid=$! foo 3 & foo3pid=$! wait $foo1pid echo $? wait $foo2pid echo $? wait $foo3pid echo $? 変数 $! には最後に起動した非同期リスト (バックグラウンドプロセス) のプロセス ID が入っている。これは別の非同期リストを起動すると上書きされてしまうので、非同期リストを一つ起動するたびに個別の変数に保存しておく。 非同期リストの終了ステータス (戻り値) を得るには、保存しておいたプロセス ID を
![シェルでバックグラウンドで起動したプロセスの戻り値を取得するには - まじかんと雑記](https://cdn-ak-scissors.b.st-hatena.com/image/square/671ace01365bd5110ffb9e3764ebd242c8c2b616/height=288;version=1;width=512/https%3A%2F%2Fmagicant.txt-nifty.com%2F.shared-cocolog%2Fnifty_managed%2Fimages%2Fweb%2Fogp%2Fdefault.png)