[解決済み] Pythonによるプロセス間通信
2022-11-21 19:57:44
質問
2つの別々のPythonランタイム間で通信するための良い方法は何ですか?私が試したものです。
-
名前付きパイプでの読み書きの例
os.mkfifo
(ハチャメチャな感じ) -
dbus
サービス (デスクトップでは動作していたが、ヘッドレスでは重すぎる) - ソケット (低レベルすぎるように思われます。きっと使用するための高レベルのモジュールがあるのでしょう?)
私の基本的な要件は
python listen.py
からメッセージを受け取ることができることです。
python client.py
. クライアントは、既存のプロセスにメッセージを送り、終了させなければなりません。
0
を、成功した場合は 0 以外を返します (つまり、双方向通信が必要です)。
どのように解決するのですか?
この
multiprocessing
ライブラリ
提供
リスナーやクライアント
を提供し、ソケットをラップして、任意の python オブジェクトを渡すことができます。
あなたのサーバはpythonオブジェクトを受け取るためにリスニングすることができます。
from multiprocessing.connection import Listener
address = ('localhost', 6000) # family is deduced to be 'AF_INET'
listener = Listener(address, authkey='secret password')
conn = listener.accept()
print 'connection accepted from', listener.last_accepted
while True:
msg = conn.recv()
# do something with msg
if msg == 'close':
conn.close()
break
listener.close()
クライアントはオブジェクトとしてコマンドを送ることができる。
from multiprocessing.connection import Client
address = ('localhost', 6000)
conn = Client(address, authkey='secret password')
conn.send('close')
# can also send arbitrary objects:
# conn.send(['a', 2.5, None, int, sum])
conn.close()
関連
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] Pythonでファイルやフォルダを削除する方法は?
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] 範囲指定された浮動小数点数のランダムな配列を生成します。
-
[解決済み] Pythonの検索パスを他のソースに展開する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Pandasのデータフレームでタプルの列を分割するにはどうしたらいいですか?
-
[解決済み] Pythonのキャッシュライブラリはありますか?
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] 異なる順序で同じ要素を持つ2つのJSONオブジェクトを等しく比較するには?
-
[解決済み] Django で全てのリクエストヘッダを取得するにはどうすれば良いですか?
-
[解決済み] Pythonによる一対のクロスプロダクト [重複] (英語)
-
[解決済み] Pandasを使って、既存のExcelファイルに新しいシートを保存する方法は?
-
[解決済み] Python Empty Generator 関数
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] Alembicアップグレードスクリプトでインサートやアップデートを実行するにはどうすればよいですか?