質問: Windowsでプロセスを**fork**させるにはどうすればいいのでしょうか? Unix系のOSで動作するPythonで作られたGUIアプリケーションがあり、どうもfork(`multiprocessing.set_start_method("fork")`)を使っているようです。 これはUnix系OSでのみサポートされていて、Windowsではサポートされていません。 このアプリケーションを極力コードを変えずにWindowsで動かしたいのですが何か方法はありますか? ただ動かすだけではなくPyinstallerを使って実行ファイル`.exe`にして、普通のアプリケーションのようにクリックひとつで起動できるようにしたいです。 どうすればこれらのことをできるのでしょうか? Cygwinやmingwなど色々あるようですがどれを使うのが良いのでしょうか? Python3.6.4, Windows 10
回答: 済みません。質問者さんの過去の質問に「Windows Subsystem for Linuxは除く」とあったので、同様の環境であれば、以下は対象外です。 一応類似の要望を持って検索する人のために残しておきます。 Windows10であれば、Windows Subsystem for Linuxを有効にすれば、変な工夫とかせずにUbuntu等と共通のバイナリが使えるのではないでしょうか? ベータ版のWindows Subsystem for Linux (beta)でもfork()はサポートしていたようです。 Windows Subsystem for Linux の fork は速いのか 趣旨は違いますがUnix用のベンチマークテストソフトもオプション変更程度の再コンパイルで動作するようですし。 (yet another) UnixBench on Bash on Ubuntu on Windows 参考情報 WindowsでPython Windows Subsystem for Linuxとは? そのインストールと使い方 ただ、GUIはサポート範囲ではない可能性が高いですね。 GUIは別プロセスでsocket通信する改造とかだと、どっちもどっちだから悩ましいところですね。 更に継続して調べたら、同様に考える人は多そうで、こんな記事がありました。 X-Window Serverを別途調達して、GUIはそちらに任せるパターンです。 これなら普通のUnixプログラミングの作り方が踏襲できるのでは? Windows Subsystem for Linux + X Windowを1.024倍くらい使いこなすための方法