フォト
サイト内検索
ココログ最強検索 by 暴想
2025年10月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

最近のトラックバック

にほんブログ村

  • にほんブログ村

« 面主主義はいかが? | トップページ | Raspberry Piのpythonでmultiprocessingから子プロセス生成し共有メモリが使えたので備忘録 »

2017年6月25日 (日)

Raspberry Piのpythonでos.fork()ができたので備忘録

 なぜか、pythonでos.fork()の記事が少なかったので備忘録として記載します。
 当方のRaspberry Piでは現在のところpython3.4.2です。
 ソースコードは「Raspberry piに特定のUSB機器を差し込むと電源を落とすデーモンをPythonで作る」を参考にしました。このソースコードでは親プロセスを終了させるようになっていますが、当方のソースコードでは親プロセスと子プロセスが同時に動くようになっています。
 ソースコードは、以下のとおりです。親プロセスで5秒毎に「5sec」を5回標準出力し、子プロセスで1秒毎に25回「1sec」を標準出力するものです。
 
ファイル名「fork01.py」
#!/usr/bin/python
import os
import time
def createDaemon():
    pid = os.fork()
    if pid > 0:#親プロセス 5秒毎に標準出力にプリント
        for i in range(5):
            time.sleep(5)
            print("5sec")
   
    if pid == 0:#子プロセス 1秒毎に標準出力にプリント
        for j in range(25):
            time.sleep(1)
            print("1sec")
if __name__ == '__main__':
    createDaemon()
実行はLXterminal(端末)から行います。フォルダーは適当なところに入れて実行もfork01.pyのあるフォルダーで行ってください。
$ python3 fork01.py
1sec
1sec
1sec
1sec
5sec
1sec
1sec
1sec
1sec
1sec
5sec
1sec
1sec
1sec
1sec
1sec
5sec
1sec
1sec
1sec
1sec
1sec
5sec
1sec
1sec
1sec
1sec
1sec
5sec
1sec
が出力されます。
 

« 面主主義はいかが? | トップページ | Raspberry Piのpythonでmultiprocessingから子プロセス生成し共有メモリが使えたので備忘録 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: Raspberry Piのpythonでos.fork()ができたので備忘録:

« 面主主義はいかが? | トップページ | Raspberry Piのpythonでmultiprocessingから子プロセス生成し共有メモリが使えたので備忘録 »