私のアプリケーションは、mach IPC メッセージを受信し、発信者に応答を返します。マッハの発信者がいて、発信者port(msgh_remote_port)
を知りたいですPID
。PID
特定のマッハポートをリッスンするマッハポートでOSXを見つけることはできますか?
2811 次
3 に答える
3
マッハ ポートはプロセスに直接関連付けられているのではなく、タスクに関連付けられています。その後、タスクは bsd プロセス構造に関連付けられます。タスクのポートを照会するには、mach_port_names 関数を使用できます。すべての開いているマッハ ポートを取得するには、すべてのタスクを反復処理し、上記の関数を使用します。
別のアプローチは、procfs ファイルシステムを使用することです。procfs ファイルシステムは、fuse ファイルシステムの上に実装され、手動でシステムにインストールする必要があります。これはオープンソースのソリューションです。procfs ファイルシステムがインストールされると、ファイル /proc/proc-id/task/ports にアクセスして、タスクのポートを照会できます。http://osxbook.com/book/bonus/chapter11/procfs/をご覧ください。
于 2012-02-19T21:09:51.003 に答える