「&」コマンドと標準入力の優先度がふと気になった。
どうもJohn(テスト爆死)です。 テストが今日で終わり、連続活動時間が43時間を超えつつありますが進捗をなにか生み出したい機運だった次第です。
なにすんのか
今回はふと「&」コマンドとPythonの標準出力の優先度を知りたくなった感じです。ただただふと思っただけのことです。
実験するべくこんなプログラムを用意しました。
input_echo.py
# coding:utf-8 import sys while True: print("1") mes = input() print("2") print(mes) print("3") if mes == "pyexit": sys.exit()
実験方法はいたって簡単。
python3 input_echo.py &
を実行するだけ。
結果
$ python3 input_echo.py & $ 1
となりました。まぁここまでは想定通り。
次にa
とか入力してみます。
$ 1 a a: command not found [3]+ Stopped python3 input_echo.py
ほげ~~。強制終了ぽよ~~。
まとめ
「&」コマンドつけないとちゃんと実行されるのでpythonの標準入力はバックグラウンドでは働かないんだなぁ。。としみじみ思いました。
次はマルチプロセシングとかやった時のinput()
の処理を見てみたい。
では寝たいと思います。
どうやらここで寝落ちしてたみたいです。 ブログ書き終わって投稿せずに寝るマンしてました。