POSIXには、サブプロセスを作成するためのfork()
関数があります。 Windowsでfork()
の機能をどうすれば実現できますか?Windowsでサブプロセスを開始するにはどうすればよいですか?
答えて
Windowsにはfork()
という直接的な同等物はありません。
CreateProcess()
は、新しいプロセスを作成するために使用できるネイティブ関数です(ただし、セマンティクスはfork()
とはかなり異なります)。
これを別の方法として、Unixではプロセスが安価に自分自身のクローンを作成することができます。 Windowsでこれを行うための安価な方法はありません。
fork()
のクローニングアスペクトを気にしない場合は、CreateProcess()
は問題ありません。
しかし、CreateProcess()とfork()の違いは何ですか? –
@Tu_JianWu:fork()によって作成された新しいプロセスは、変数の値と現在の命令ポインタを含む親の状態を継承します。 CreateProcess()によって作成された新しいプロセスは、最初から開始されません。また、fork()は既に実行中の実行可能ファイルの新しいコピーを作成するだけで、CreateProcess()は実行可能なファイルを起動できます。 –
@ハリー・ジョンストン:ありがとう... –
- 1. MDIでマウスイベントを開始するにはどうすればよいですか?
- 2. アンカータグでストライプクレジットカードチェックアウトを開始するにはどうすればよいですか?
- 3. webpackでプロダクションを開始するにはどうすればよいですか?
- 4. WindowsでClojureを使用してプログラミングを開始するにはどうすればよいですか?
- 5. Windows Phone 7でSOAPサービスを開始するにはどうすればよいですか?
- 6. アプリトラッキングを開始するにはどうすればよいですか?
- 7. Android - 方法を開始するにはどうすればよいですか?
- 8. Hadoopのマップを開始するにはどうすればよいですか?
- 9. 継続タスクインスタンスを開始するにはどうすればよいですか?
- 10. ブルートゥースペアリングのプロセスを開始するにはどうすればよいですか?
- 11. Javaプログラミングを開始するにはどうすればよいですか?
- 12. アクティビティを開始するにはどうすればよいですか?
- 13. ASC3(ActionScript 3)フレームの開始時にリスニングを開始するにはどうすればよいですか?
- 14. wix:ProgressDlgでインストールプロセスを開始するにはどうすればいいですか?
- 15. カラーピケットダイアログを開始するにはどうすればいいですか?
- 16. ブロックされていないファイルの出力を持つサブプロセスでコマンドを開始するにはどうすればよいですか?
- 17. 「電話サービス」(電話バンキングなど)の開発を開始するにはどうすればよいですか?
- 18. Windows 10マシン上の他のNode.jsファイルを既に開始した後、新しいNode.jsファイルを開始するにはどうすればよいですか?
- 19. Windows Phone 7:Webブラウザを開くにはどうすればよいですか?
- 20. UBUNTU 9.04でCUDA開発を開始するにはどうすればよいですか?
- 21. AndroidでSkypeアプリケーション開発を開始するにはどうすればよいですか?
- 22. iPhone向けに開発を開始するにはどうすればよいですか?
- 23. 光り輝くアプリの開始時にナビゲートパネルを展開するにはどうすればよいですか?
- 24. 最大値ではなく0からカウンタを開始するにはどうすればよいですか?
- 25. Scalaを使用してWebの開発を開始するにはどうすればよいですか?
- 26. forループを1ではなく01で開始するにはどうすればよいですか?
- 27. STM32でタイマーを開始および停止するにはどうすればよいですか?
- 28. Javaでメインスレッドをブロックしないバックグラウンドスレッドを開始するにはどうすればよいですか?
- 29. EDI 837 Professionalの開発を開始するにはどうすればよいですか?
- 30. System.Diagnostics.Process.Start()で開始されたコンソールアプリケーションのウィンドウタイトルを指定するにはどうすればよいですか?
何を知りたいですか? Windows上でスレッドプログラミングを作成するには? – Mithrandir
ああ、いいえ、私はLinuxを勉強するときに困っています... Windowsでは、関数CreateThread(...)を使ってスレッドを作成できます。しかしLinuxでは、子プロセスを作成するための関数fork()があり、Window上でfork()と似た関数があることを知りたいのですが... –
私が知る限り、yuは_spawn()、_beginthread )と_endthread()です。 – Mithrandir