回答編集履歴

1

質問を受けて追記

2021/12/05 08:46

投稿

TakaiY
TakaiY

スコア13792

test CHANGED
@@ -43,3 +43,69 @@
43
43
 
44
44
 
45
45
  ようするに、メインのプロセスで他のプロセスの起動と終了をちゃんと管理する必要があるということです。
46
+
47
+
48
+
49
+ ---
50
+
51
+ 質問を受けて追記します。
52
+
53
+
54
+
55
+ プロセスrが動作しているかどうかを示す情報、そういうのをフラグと呼びます、をつかって状態を管理すればいいです。
56
+
57
+
58
+
59
+ フラグとして、r_runningを作ってFalseで初期化します。
60
+
61
+ あとは、そのフラグも見ながら動作を調整していきます。
62
+
63
+ ```python
64
+
65
+ executor.submit(m.process)
66
+
67
+
68
+
69
+ r_running = False
70
+
71
+
72
+
73
+ while True:
74
+
75
+
76
+
77
+ # プロセスrが動作していなくて、プロセスmの情報ができたらプロセスrを起動
78
+
79
+ if not r_running and os.path.exists(count_image_path)== True:
80
+
81
+ executor.submit(r.run)
82
+
83
+ r_running = True
84
+
85
+ # ここで消してしまっていいのか不明 プロセスrで使うのでは?
86
+
87
+ os.remove(count_image_path)
88
+
89
+
90
+
91
+ # プロセスrが終了したら、フラグを落す。
92
+
93
+ if os.path.exists(text_reading_image_path):
94
+
95
+ r_running = False
96
+
97
+ os.remove(text_reading_image_path)
98
+
99
+
100
+
101
+ # プロセスmが終章したらループを抜ける
102
+
103
+ if not r_running and #プロセスmの終了検知
104
+
105
+ break
106
+
107
+
108
+
109
+ #ここに少しスリープを入れたほうがいいでしょう。
110
+
111
+ ```