ipc

a{sv}(oayays)b dbus 署名とは何ですか?
ipc

a{sv}(oayays)b dbus 署名とは何ですか?

CreateItemdbusサービスでメソッドを呼び出そうとしています。org.freedesktop.secrets busctl --user call org.freedesktop.secrets /org/freedesktop/secrets/collection/login org.freedesktop.Secret.Collection CreateItem "a{sv}(oayays)b" a{sv}(oayays)b署名のために渡すパラメータをどうやって知ることができますか? ...

Admin

ドライバ内部のソケットCANから読み込む
ipc

ドライバ内部のソケットCANから読み込む

ドライバ内部でソケットCANデバイスを読み取ろうとします。 私はskbを設定し、関連情報と呼ばれるcan_rx_registerコールバックを登録する呼び出しに転送していますsc_rcv。 // callback static void sc_rcv(struct sk_buff *skbr, void *data) // initialization result = can_rx_register(&init_net, dev, 10 | CAN_INV_FILTER, CAN_SFF_MASK, &sc_rcv, skb, "myca...

Admin

mqueue最大メッセージサイズとオーバーヘッド。メッセージが小さいほど高くなりますか?
ipc

mqueue最大メッセージサイズとオーバーヘッド。メッセージが小さいほど高くなりますか?

最大メッセージサイズが平均メッセージサイズよりはるかに大きいPOSIX mqueueがある場合、オーバーヘッドはありますか? たとえば、最大メッセージサイズが2048バイトのmqueueを開くと、128バイトサイズのメッセージを送受信するたびに追加の操作が実行されますか? キューの作成時に少なくとも一種の割り当てがあると仮定しますが、送信/受信時に計算ペナルティがない場合はメモリペナルティを支払うことになります。 ...

Admin

リサイクルされたPIDを処理するときは、PIDのプロセスが有効になっていることを確認してください。
ipc

リサイクルされたPIDを処理するときは、PIDのプロセスが有効になっていることを確認してください。

私がオンラインで見たところによると、C ++でkillメソッドを呼び出して、プロセスがまだ生きていることを確認します。問題は、PIDが循環していて、探している同じPIDが同じプロセスではない可能性があることです。お互いの子ではなく、2つのプロセスを持つプログラムがあります。それらと通信できる唯一の方法はIPCです。クライアントプロセスが終了したら、私のホストプロセスも終了したいと思います。これを行うには、クライアントのプロセスがもう存在しない時期を知る必要があります。 Windowsには、ハンドルを作成したプロセスが閉じられるまでPIDがリサイクルされないよ...

Admin

継続的に実行されているプロセスを追跡する方法は?
ipc

継続的に実行されているプロセスを追跡する方法は?

zshだから、、、、でファイルがどのように開くのか正確な順序を知りたいのですが.xinitrc。だから私はシステムコールがどのように呼び出されるかを確認するためにそのコマンドで遊ぶことにしました、そして最終的にこのファイルをロードする方法を決めて注文することができました。.xprofile.zprofilestracezshgrepopen 私のコマンド: strace zsh | grep open ただし、このプログラムを実行すると、出力が表示され動作しなくzshなりgrepます。プロセスを終了してもctrl+d何も起こりません。 grepそれでは、こ...

Admin

マルチCPUシステムでは、ローカルソケットIPCはどのように機能しますか?
ipc

マルチCPUシステムでは、ローカルソケットIPCはどのように機能しますか?

私はSupermicro X10DAiマザーボードを持っています。マニュアルは次のとおりです。ここ。 1-11ページでは、各CPUに独自のRAMがあることがわかります。 program AAPIがローカルソケットを介して提供されているとします/var/run/socketapi。プログラムはCPU 1から始まります。 program B次にソケットに接続し、CPU 2で起動します。 program Bソケットにコマンドを書き込むと、カーネルは通常メモリ空間からprogram Bメモリ空間にデータをコピーしますprogram A。 しかし、プログラムが異なるC...

Admin

dbus-monitorの出力を調整する方法は?
ipc

dbus-monitorの出力を調整する方法は?

私はGNUツールとbashを使用してマイクロサービスアプリケーションを構築しており、サービス間でIPCを使用しdbus-monitorてdbus-send実行することにしました。問題は、dbus-monitorメタデータとペイロードを異なるラインに分けて受信したメッセージを活用することが難しいという点だ。 リスナーをインスタンス化すると dbus-monitor --system interface=org.foo.bar member=test \ | while read a; do echo got message $a done そしてそれと...

Admin

dbusコマンドラインユーティリティのみを使用してdbusサービスのすべてのオブジェクトパスを一覧表示するにはどうすればよいですか?
ipc

dbusコマンドラインユーティリティのみを使用してdbusサービスのすべてのオブジェクトパスを一覧表示するにはどうすればよいですか?

コマンドラインユーティリティのみを使用してdbusサービスのオブジェクトパスを一覧表示するにはどうすればよいですかdbus-send? 現時点では、次のサービスのみを一覧表示できます。 dbus-send --system --dest=org.freedesktop.DBus --type=method_call --print-reply /org/freedesktop/DBus org.freedesktop.DBus.ListNames またはインターフェース: dbus-send --system --dest=org.freedesktop...

Admin

名前付きパイプを使用したbash IPC
ipc

名前付きパイプを使用したbash IPC

次のスクリプトを検討してください #!/usr/bin/bash chan=/tmp/pipe.$$ mkfifo $chan { for x in a b c d e do echo $x > $chan done } & for y in 1 2 3 4 5 do x=$(cat $chan) echo "var $x = $y ;" done rm $chan 期待どおりに動作しないようです。例えば ❯ ./testpipe.sh var a b c = 1 ; ^C fifo...

Admin

Solaris OSを含む同じプロセスの他のトピックからのファイルのロック
ipc

Solaris OSを含む同じプロセスの他のトピックからのファイルのロック

次の要件に従って、C/C++ コードからファイルにアクセスするときにファイルロックを実行する必要があります。 異なるプロセスだけでなく、同じプロセスの異なるスレッドでもアクセスが発生した場合はブロックする必要があります LinuxおよびSolarisオペレーティングシステムで動作する必要があります。 私が見つけたポカントル(開いたファイル記述ロック(POSIXではありません))とグループ、最初の要件を満たしています。残念ながら、これらのAPIはSolarisにはありません。 私の使命を果たす最善の方法は何ですか?ファイルへの同時書き込みを防ぐ機能を使いた...

Admin

WindowsのWaitForMultipleObjectsなど、より高いレベルの機能をLinuxに追加する予定はありますか?
ipc

WindowsのWaitForMultipleObjectsなど、より高いレベルの機能をLinuxに追加する予定はありますか?

WaitForMultipleObjectsは、呼び出しスレッドを中断し、リソースなどが利用可能になるまで他のスレッドと同期できる複数のWindowsカーネル関数の1つです。 Linuxのクラスタリングと似ていますが、ファイルロックを除くすべてを処理します。 WaitForMultipleObjectsは、さまざまなイベント(変更通知、コンソール入力、イベント、メモリ通知、ミューテックス、プロセス、セマフォ、スレッド、およびタイマーを混在させることができます)、タイムアウトまたはポーリングオプション、AND / ORオプション、およびレポートを最初にサポート...

Admin

実行中のプロセス出力をパイプから別のものにリダイレクトするにはどうすればよいですか?
ipc

実行中のプロセス出力をパイプから別のものにリダイレクトするにはどうすればよいですか?

stdout(1)をこの「パイプ」から次にリダイレクトする方法はありますか? (これを正確に説明できるかどうかはわかりません。誰かがこの問題を処理する方法を説明したり、それについての内容を読んでくれるととても嬉しいです。)他の出力、はい。ファイルかターミナルか? -bash-4.2$ ls -l /proc/11/fd total 0 lrwx------ 1 us sudo 64 Sep 24 11:26 0 -> /dev/null l-wx------ 1 us sudo 64 Sep 24 11:26 1 -> pipe:[20619] ...

Admin