backgroundでのread ― 2007/11/27 07:36:29
新人君からシェルスクリプトについて質問を受けた。
バックグラウンドでreadコマンドを使うとループしちゃうんですが・・・。
read コマンドがループするんじゃなくて、ループ中に read を入れてるわけですが、 バックグラウンドで端末からの入力を待つなんて、出来ないだろうと思っていたので試したこともなかった。 ちょいと調べてみてわかったのは
バックグラウンドでttyからの入力を待つと、SIGTTYINを受けて異常終了する
ということくらい。(これも正確には正しくないのかも知れないが・・・。)
ps コマンドなんかだと、バックグラウンドで起動したプロセスでも、 tty は紐づいてるみたいに見えるけど、 やっぱり切り離されてるのかな? (表示上だけ紐づいてるように見える?) よくわからん。
とりあえず、新人君には入力待ちを止めさせました。 特に意味もなかったんで。
最近のコメント