3

2つのプロセスがあり、最初のプロセスから2番目のプロセスに渡したい変数があるとします。グローバル変数を宣言して、さまざまな関数間で参照によって渡すことができることは知っていますが、さまざまなプロセス間で変数を渡すことが可能かどうかはわかりません。

各プロセスには仮想メモリの独自の部分が割り当てられており、あるプロセスが別のプロセスのメモリ空間にアクセスできないと聞きました。それは本当ですか?または、2つのプロセスが変数を共有することは実際に可能であり、したがってミューテックスメカニズムが必要ですか?

4

3 に答える 3

5

異なるプロセス間で変数を渡すことが可能かどうかはわかりません。

いいえ、少なくとも変数を渡すという古典的な意味では不可能です。ただし、多くのオプションがあります。プロセス間通信は、共有メモリ (メモリ マップ ファイルを介して実装される場合もあります)、名前付きパイプなどを介して行うことができます。

于 2012-09-27T15:06:50.167 に答える
4

それとも、実際には 2 つのプロセスが変数を共有できるので、mutex メカニズムが必要なのでしょうか?

はい、共有メモリ、またはより一般的には IPC / プロセス間通信を調べる必要があります。

于 2012-09-27T15:06:27.503 に答える
1

最初のプロセスから 2 番目のプロセスを開始する場合は、コマンド ライン パラメーターとして渡すことができます。

それ以外の場合は、プロセス間通信方法 (名前付きパイプとも呼ばれるソケットや FIFO など) に依存する必要があります。

この他の投稿を見ることができます:

ファイル経由のプロセス間通信

于 2012-09-27T15:10:31.213 に答える