GlueLangにバックグラウンドジョブの機能を追加

Sat Jan 24 22:39:22 JST 2015 (modified: Tue Sep 19 13:17:34 JST 2017)
views: 3146, keywords:バックグラウンドジョブ,バックグラウンドプロセス,glue,GlueLang,グルー言語を作る この記事は最終更新日が7年以上前のものです。

今日の作業でGlueLangにシェルの「&」に相当する部分を追加しました。&を>>や>>=でつながっているコマンド達(ジョブ)の後ろにくっつけると、Glueはそいつらを起動してすぐに次の行に制御を移します。

次の例では、3行目の3つのコマンドが起動したらすぐに4行目に制御が移ります。

したがって、実行すると次のように4行目のbのあとに3行目のcbaが出てきます。

普通のシェルと違うのは、上の例にもありますが、「&」の後ろに名前を書けるようにしたことです。

名前は当該のジョブをwaitするときに使います。次の例では、「a」というジョブをwaitしています。in.waitというのは「内部コマンドのwait」という意味です。今日は内部コマンドを起動する仕組みも作りましたが、これの説明はまた後日。

-vオプション付きで実行すると、ちゃんと待つことが分かります。18行目でwaitが終わってから、最後のecho 'b'が実行されています。

また、一個のwaitで二つ以上のジョブも待てるようにしました。

個人的には便利かと。

寝る・・・と言いたいところですが、これから英語サイトの準備をしようかなと。

ノート   このエントリーをはてなブックマークに追加 
 

prev:日記 ---「ファーストクソリプ」考 next:自分の英語サイトとGlueLangのサイト

やり散らかし一覧

記事いろいろ