問題タブ [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.

0 投票する
1 に答える
212 参照

.net - .Netから別のプロセスメモリをスヌープするにはどうすればよいですか?

.Netコンソールアプリから別のプロセスに接続して、データ領域を探索したいと思います。具体的には、WindowsVistaの「スパイダソリティア」アプリに接続したいと思います。このアプリが提供するカードがすべての状況で解決できるかどうかを確認したいからです。

これは可能ですか?可能であれば、どのAPIを検討する必要がありますか?

これは「ただの楽しみ」プロジェクトなので、知識を広げることができます。

ライアン

0 投票する
2 に答える
4482 参照

vb.net - Matlab、VB6、および VB.NET プログラム間でメッセージを送信する最も簡単な方法

VB6 プログラムから VB.NET、VB6、および Matlab プログラムの混合物への一連のデータ取得および分析ルーチンをアップグレードしています。システムをモジュラー (個別の EXE) に保ちたいので、1 つの大規模なアプリケーションを常にアップグレードする必要なく、専用のスタンドアロン分析プログラムを簡単に作成できます。すべてのプログラムが VB6 で記述されている場合、MBInterProcess を使用して EXE 間でメッセージを送信しました。残念ながら、この ActiveX を Matlab または VB.NET 内で使用してメッセージを受信することはできません。採用できる最も単純な文字列メッセージ パッシング システム (パイプ、登録メッセージなど) は何かを考えています。現在、新しいファイルが特定のフォルダーに書き込まれたかどうかを確認するためにポーリングしています。これは最善の解決策とは言えません。私たちの理想的なソリューションは、Windows のニュアンスを学習するために多大な時間を費やす必要がなく (私たちは生物学者であり、フルタイムのプログラマーではありません)、WinXP と 64 ビット バージョンの Windows の両方で動作します。

クエリに応答して、MBInterProcess ActiveX コントロールを持つ VB6 プログラム内に Matlab セッション全体をラップしました。それはうまくいきますが、私たちにとっては素晴らしい解決策ではありません。なぜなら、それは私たちを永遠に WinXP に縛り付けてしまうからです (もちろん、Matlab の 64 ビット バージョンを使用できなくなるでしょう)。最新バージョンの Matlab (2009a) は .NET 関数に直接アクセスできるため、.NET ライブラリを使用してプログラム間でパイプ (または類似のもの) を実装することが 1 つの解決策であると想定しています。MBInterProcess ActiveX の洗練された単純な構文を再作成し、そのプログラムの最上位の Windows 名を使用してメッセージをリッスンし、特定の Matlab m ファイルまたは VB.NET 関数を呼び出すコードを用意します。引数として文字列データ (ファイル名など)。

0 投票する
8 に答える
2191 参照

delphi - ソケットなしで Delphi でアプリケーション データ交換を行う最良の方法は何ですか?

相互に通信する (データを交換し、アクションを開始する) ために、いくつかの関連アプリケーションが必要です。要件はパッケージなしでソケットなしです。したがって、名前付きパイプ、WM_CopyData (Skype のように)、およびコマンド パラメーターが残ると思います。ベストプラクティスは何ですか?

0 投票する
3 に答える
666 参照

perl - 子への書き込み時に親がブロックしないようにするにはどうすればよいですか?

最近、2 つのプロセス間で通信したいときに (pipe |-) を使用すると問題が発生しました。基本的に、子プロセスは、親プロセスが満たしたほど速く STDIN を処理できませんでした。これにより、親は STDIN が解放されるまで待機し、実行が遅くなりました。

STDIN のサイズと変更可能性。はいの場合、ベストプラクティスのサイズはどれくらいですか?

私が何を意味するかを示すコードサンプルを次に示します。

このサンプルanother_process_packetではprocess_packet. このようなコードを書く理由は、同じデータをソケットから取得し、実際に一度取得したいからです。

前もって感謝します。

0 投票する
3 に答える
2889 参照

.net - クライアントからチャネルを使用する前に、WCF ホストが使用可能であることを確認するにはどうすればよいですか?

多数のスレーブ プロセスを開始する Windows サービスを作成しています。これらのスレーブ プロセスのそれぞれで、マスター プロセスからのメッセージを名前付きパイプでリッスンし始めます。

現在、スレーブが完全に起動して名前付きパイプでリッスンを開始する前に、マスタープロセスが名前付きパイプを介してスレーブを呼び出す状況があります。

これを行うと、チャネルが入り、チャネルCommunicationState.Faultedでの後続の呼び出しも失敗します。

スレーブ プロセスがリッスンを開始したことをマスターから確認するにはどうすればよいですか? CommunicationState.Faultedまたは、 から回復してリモート コールを再試行するにはどうすればよいですか?

0 投票する
3 に答える
920 参照

filesystems - procfs を使用する Linux カーネル コード: 何に注意する必要がありますか?

カーネル パッチに関する非常に優れたアイデアがあります。アイデアを具体化する前に、いくつかの調査を行い、コード例を確認したいと考えています。

/procprocfs (Linuxファイル システム)の高度な使用法を示す興味深いコード例を探しています。興味深いとは、文書化された値を読むだけではありません。


私の考えは、すべてのプロセスに簡単なブロードキャスト メカニズムを提供することです。たとえば、 の複数のインスタンスを実行rsyncし、各子の転送ステータス (これまでに転送されたバイト数) を確認するプロセスを考えてみましょう。現在、私はそれを行うことができる方法を知りません。

にデータを書き込むための最小限のインターフェイスをプロセスに提供するつもりprocfsです。そのデータは、PID ディレクトリの下に配置されます。例えば:

主に並行性の分野で、これには多くの利点があると思います。

ところで、そのようなメカニズムがすでに存在する場合は、教えてください...

0 投票する
5 に答える
1842 参照

c++ - C++で別のプロセスからスレッドのロックを解除します

プロセス間通信モジュール(プロセスAとプロセスB)をプログラミングしています。

プロセスAが特定のアクションを終了するとすぐにBの通信スレッドを実行(ロック解除)できる方法はありますか?つまり、Bがポーリングを実行せず、Aがアクションを終了した後にBが待機しすぎないということですか?

これらの問題を管理するコンセプト/モデル/デザインパターンはどれですか?(プロセス間同期よりも正確なもの)。どのライブラリ/メソッドをお勧めしますか?

ありがとう。

編集:私は3つの主要なOSのそれぞれに適した方法を探しています:Ms Windows、Apple Mac OS X、GNU/Linux。

0 投票する
3 に答える
921 参照

c# - コンピューター境界で .NET クラスを単一のオブジェクト インスタンスに制限する => 「プロセス間シングルトン」

同じコンピューター上の複数のプロセスで使用される .NET クラスの 1 つのオブジェクトが必要です。

アプリケーション ドメインがあると、その境界を越えて移動することは容易ではありませんが、.NET 4.0 のメモリ マップト ファイルは、何らかの方法でそのタスクを容易にするはずです。

.NET 4.0 が最終リリースになるまで... C# である種の「プロセス間シングルトン」を作成することは可能ですか?

0 投票する
7 に答える
34210 参照

c# - 「ChannelDispatcher はその IChannelListener を開けません」というエラーを解決するにはどうすればよいですか?

Windows サービスでホストされている WCF とサービス GUI の間で通信しようとしています。問題は、取得している OperationContract メソッドを実行しようとしているときです

「コントラクト「IContract」を持つ「net.tcp://localhost:7771/MyService」の ChannelDispatcher は、その IChannelListener を開くことができません。

私の app.conf は次のようになります。

ポート 7771 はリッスンしており (netstat を使用してチェック)、svcutil は構成を生成できます。

任意の提案をいただければ幸いです。


例外からのスタック トレース


内部例外が 1 つあります (ただし、Exeption.InnerExeption の下ではなく、Exeption.Detail.InnerExeption の下に - ToString() メソッドでは表示されません)。

URI 'net.tcp://localhost:7771/MyService' の登録は既に存在します。

しかし、私のサービスは、この URI を app.config ファイルでのみ指定しています。ソリューション全体で、この URI はサーバーに 1 回、クライアントに 1 回出現します。