-1

C++ を使用して、Windows で 5 つの子プロセスを作成したいと考えています。しかし、私は自分が子供なのか親なのかを理解できるようにCreateProcess求められ、混乱しています。Windowsでこれを行う方法lpApplicationNamefork

4

2 に答える 2

2

残念ながら、このCreateProcess関数は、プログラムをロードしてそのプログラムの新しいプロセスを開始するためにのみ使用できます。

ただし、既に実行しているプログラムをロードするように要求してから、正しい位置にジャンプするように要求することでCreateProcess、機能をシミュレートするために使用できます。これは、この古い回答forkで参照されているように、Cygwinによって行われた(または少なくとも行われた)ことです。

于 2013-01-18T11:02:06.920 に答える
0

プロセスはUNIXよりもWindowsの方がはるかに重いオブジェクトであるため、通常、Windowsでは複数のプロセスではなくスレッドを使用することをお勧めします。

ただし、アプリケーションの名前とパスをCreateProcessに渡し(まだ知らない場合はGetModuleFileNameを使用)、コマンドライン引数を含めてアプリケーションが次のように起動されていることを通知することで、要求していることを実行できます。子プロセス。

子プロセスは最初から開始されることに注意してください。フォークを使用している場合のように、子プロセスには親のメモリのコピーがありません。

于 2013-01-20T20:56:44.213 に答える