<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta name="author" content="magicant"> <meta name="description" content="Yash の wait 組込みコマンドについて"> <title>Yash マニュアル: wait 組込みコマンド</title> <link rel="Contents" href="../index.html" title="目次"> <link rel="Prev" href="unset.html" title="Unset 組込みコマンド"> <link rel="Stylesheet" href="../style.css"> <div class="breadcrumb"><a href="../index.html">目次</a> > <a rel="Up" href="index.html">組込みコマンド一覧</a></div> <h1>Wait 組込みコマンド</h1> <p><dfn>Wait 組込みコマンド</dfn>はバックグラウンドの<a href="../job.html">ジョブ</a>が終了するのを待ちます。 <h2 id="syntax">構文</h2> <ul> <li><code>wait [<var>ジョブ</var>…]</code> </ul> <h2 id="description">説明</h2> <p>Wait コマンドは実行中のバックグラウンドジョブが終了するのを待ちます。<a href="../job.html">ジョブ制御</a>が有効な時は、ジョブが停止したときも終了したとみなします。 <p>Wait コマンドはジョブ制御が有効でないときでも<a href="../syntax.html#async">非同期コマンド</a>の終了を待つのに使えます。 <p>Wait コマンドの実行中にシェルがシグナルを受信した場合、そのシグナルに対し<a href="trap.html">トラップ</a>が設定してあればそのトラップを直ちに実行し wait コマンドはそのまま終了します。またジョブ制御が有効な場合、シェルが SIGINT シグナルを受信すると wait コマンドは中断されます。 <h2 id="options">オプション</h2> <p>なし <h2 id="operands">オペランド</h2> <dl> <dt><var>ジョブ</var> <dd>終了を待つジョブ・非同期コマンドの<a href="../job.html#jobid">ジョブ ID</a> またはプロセス ID です。何も指定しないとシェルが有する全てのジョブ・非同期コマンドの終了を待ちます。存在しないジョブ・非同期コマンドを指定すると、終了ステータス 127 で既に終了したジョブをしたものとみなし、エラーにはしません。 </dl> <h2 id="exitstatus">終了ステータス</h2> <p><var>ジョブ</var>が一つも与えられておらず、シェルが全てのジョブ・非同期コマンドの終了を正しく待つことができた場合、終了ステータスは 0 です。<var>ジョブ</var>が一つ以上与えられているときは、最後の<var>ジョブ</var>の終了ステータスが wait コマンドの終了ステータスになります。 <p>Wait コマンドがシグナルによって中断された場合、終了ステータスはそのシグナルを表す 128 以上の整数です。その他の理由で wait コマンドがジョブの終了を正しく待つことができなかった場合、終了ステータスは 1 以上 126 以下です。 <h2 id="notes">補足</h2> <p>Wait コマンドは<a href="../builtin.html#types">準特殊組込みコマンド</a>です。 <p>非同期コマンドのプロセス ID は非同期コマンドを実行した直後に<a href="../params.html#special">特殊パラメータ <code>!</code></a> の値を見ることで知ることができます。ジョブ制御が有効なときは <a href="jobs.html">jobs コマンド</a>でプロセス ID を調べることもできます。