問題タブ [interprocess]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 割り当てられたメモリに関数をロードして、そこから実行することはできますか?
私はいくつかのプロセス間通信をいじっていますが、関数を共有メモリにコピーして、そこからいずれかのプロセスから実行できるかどうかに興味があります。
何かのようなもの:
関数のサイズを取得できないことはわかっていますが、それが頭に浮かびました。
memory - 共有メモリのロックとプロセスのクラッシュ
共有メモリの同期の問題をよりよく理解したいと思います。プロセス間同期は、異なるオペレーティング システムでは異なる動作をする可能性があることを理解しました。最も大きな違いは、共有メモリをロックしているプロセスがクラッシュした場合に何が起こるかです。プロセスがクラッシュした後、Windows はロックされた名前付きミューテックスを解放しますが、Linux は解放しません。誰かが私に問題をよりよく説明できますか?利点と欠点はどれですか? プロセスがクラッシュした後、Linux で名前付きミューテックスまたはプロセス間セマフォを解放するにはどうすればよいですか? インターネットで検索しましたが、問題と解決策を適切に説明している人を見つけられませんでした。
誰かが私を助けてくれることを願っています。私の英語でごめんなさい。
c# - C# + PHP で名前付きパイプを使用したプロセス間通信
C#で名前付きパイプを使用したプロセス間通信は簡単ですが、phpでこれを行う方法、または可能かどうかは正確にはわかりません。だから私はこれらの質問があります:
- PHPで名前付きパイプは可能ですか?
- C# 名前付きパイプ クライアントを使用して、php 名前付きパイプ サーバーに接続することは可能ですか?
- どのように私はそれをコーディングしますか?:)
上記の質問のいずれかへの回答はとても役に立ちます..ありがとう:)
編集: Web ベースのアプリではなく、スタンドアロンの php プログラムです。
edit2:名前付きパイプ サーバーは、C# 側でも PHP 側でもどちらでもかまいません。私は両方のC#の例を作成しました..しかし、PHPのどこから始めるべきかわかりません
string - boost :: interprocess::stringからchar*への変換
boost::interprocess::string
をstd::string
またはに変換することは可能const char*
ですか?のようなものc_str()
...
例えば:
非共有メモリブロックで文字列のコピーを取得することもできます。
例えば:
ありがとうございました!
c# - データを非同期的にフェッチするために .NET Remoting サーバーのクライアントを起動して有効にする方法は?
.NET Remoting を使用してプロセス間通信を実行する必要があります。このために、 Data(Objects) & Methods の形式でいくつかのデータを共有します。
共有されているデータがあるかどうかを .NET Remoting クライアントが検出できる方法はありますか? サーバーサーバーが共有可能なメソッドとオブジェクトを使用してデータを共有するたびに、マーシャリング、別のプロセスであるクライアントを認識する必要があります。
サーバーは複数のクライアントを持つことができ、データは複数のクライアントで共有できます(特定のクライアントまたはブロードキャスト、つまり個別のプロセスとして実行されているすべてのクライアント用)。
クライアント側では、共有データをチェックするための単一の専用スレッドがあり、到着した場合は収集し、それ以外の場合はスリープします。または、何らかの方法で、サーバーが特定のクライアントまたは複数のクライアントにイベントを送信して、到着した共有データについて認識させるようにするたびに。
これは .NET Remoting Events が公開する機能ですか? 私の .NET Remoting サーバーは C# プロセスで、クライアントは C++/CLI プロセスです。
よろしくウスマン
.net - .NET から管理されていないプロセスと通信しています
Process.Start を使用して .NET からプロセスを作成しています。新しいプロセスは、C/C++ で記述されたレガシー アプリです。それと通信するには、プライマリ スレッドに対して PostThreadMessage と同等の処理を行う必要があります。
P/Invoke を使用して PostThreadMessage を呼び出したいのですが、プライマリ スレッドを見つける方法がわかりません。Process オブジェクトにはスレッドのコレクションがありますが、コレクションの最初の項目がプライマリ スレッドである必要はないとドキュメントに記載されています。Thread オブジェクト自体には、それらがプライマリであるかどうかの兆候がないようです。プロセスを作成した直後にスレッド コレクションを確認することはできましたが、スレッド コレクションが 1 つしかないという保証はありません。
では、.NET から別のプロセスのプライマリ スレッドを特定する方法はありますか、それとも Win32 の CreateProcess を使用する必要がありますか?
ありがとう、
ボブ
delphi - シングルトンオブジェクトのクロスプロセス
これは私の別のQのバリエーションです。XとYの2つのアプリケーションがあります。これらは、それらの間で1つのCOMオブジェクトを共有する必要があります。Xはこのオブジェクトにデータを送信し、Yはこのアプリケーションから送信されたイベントに応答します。いつでもXまたはYが終了する可能性がありますが、両方のアプリケーションが終了するまでシングルトンは存続する必要があります。
この方法でシングルトンCOMオブジェクトを作成することは可能ですが、Xが最初に起動して作成すると、Yが起動して使用し、Xが停止して...シングルトンはどうなりますか?
とにかく、誰かがDelphiでこれを試したことがありますか?
interprocess - プロセス間通信のスヌープ
プロセス間通信のログ ファイルを作成しようとした人はいますか? これを達成するための最善の方法について、誰かが私に少しアドバイスをくれますか?
c++ - boost :: interprocessの「upgrade_to_unique_lock」はありますか?
ライターバイアスのリーダー/ライターモデルで2つ(またはそれ以上)のプロセス間でデータのチャンクを効果的に共有するための最良の方法を探しています。
私の現在のテストはboost::interprocess
です。いくつか作成managed_shared_memory
し、共有メモリに格納されているプロセス間ミューテックスを使用して、データチャンクへのアクセスをロックしようとしています。
ただし、sharable_lock
リーダーとupgradable_lock
ライターで使用している場合でも、クライアントは書き込み操作中にフラグメント化された値をブロックする代わりに読み取ります。単一のプロセスでスレッド間で同様のリーダー/ライターのセットアップを行っている間、私はupgrade_to_unique_lock
この問題を解決するために使用しました。しかし、私はそれにboost::interprocess
相当するものを見つけていません。存在しますか?
サーバー(ライター):
クライアント(リーダー)
手元にあるより大きな問題はこれだと思います。プロセス間ミューテックスは、ライターに偏ったセットアップでプロセス間の共有メモリにアクセスするための適切な方法でさえありますか?
注:Boost1.44.0を使用する
c++ - 「managed_shared_memory」はどのくらいのメモリを割り当てる必要がありますか? (ブースト)
boost::interprocess
を介して共有メモリの静的チャンクを作成するときに、どれだけのメモリを割り当てる必要があるかについて、決定的な答え(実際に存在する場合)を探していますmanaged_shared_memory
。公式の例でさえ、任意に大きなメモリのチャンクを割り当てているようです。
次の構造を検討してください。
私の最初の反応は、必要なサイズは 8 バイト、つまりsizeof(Point2D)
. オブジェクトを構築しようとすると、これは惨めに失敗し、実行時にセグメンテーション違反が発生します。
seg-fault の原因となっている読み取り/書き込み操作は何ですか? スタック操作?segment.construct()
?内の一時的な割り当て 共有メモリを割り当てる際に必要なオーバーヘッドはどれくらいですか?
試行錯誤の結果、上記の構造ではサイズを 4 倍にするとうまくいくことがわかりましたが、 にフィールドを追加し始めるとうまくいきませんstruct
。だから、それは悪いハックのにおいがします。
現代の PC では「メモリは安い」と主張する人もいるかもしれませんが、私はこの考え方に同意せず、必要以上に割り当てることを避けることができれば嫌いです。昨日、Boost のドキュメントを調べてみましたが、推奨事項が見つかりませんでした。今日は何か新しいことを学びましょう!