14

アプリから外部バックグラウンド プロセスを生成するときに使用するかどうかがpty.fork()わかりません。os.fork()(チェスエンジンなど)

端末でアプリを生成する場合と同様に、親が強制終了された場合に、生成されたプロセスが終了するようにします。

2 つのフォークの間の浮き沈みは何ですか?

4

3 に答える 3

4

これまで、私は常にsubprocessこのモジュールを使用してきました。サブプロセスと通信するための優れた API を提供します。

call(*popenargs, **kwargs)それらの実行をブロックするために使用できますPopen。クラスを使用すると、非同期実行を処理できると思います。

詳細については、ドキュメントをご覧ください。

os.forkvsを使用する限りpty.fork、どちらもプラットフォームに大きく依存しており、どちらも Windows では動作しません (または少なくともテストされています)。ptyドキュメントを読むと、モジュールは2つのうちでより制約されているようです。主な違いは、疑似端末の側面です。subprocessしたがって、モジュールを使用できるようにコードを設計する気がない場合はos.forkpty.fork.

于 2009-12-17T15:22:40.507 に答える
2

疑似端末は、実際に端末を必要とする一部のアプリケーションに必要です。対話型シェルはこれらの例の 1 つですが、他にも多くの例があります。pty.fork オプションは、別の os.fork としてではなく、疑似端末を使用するための特定の API として存在します。

于 2012-08-04T00:25:45.857 に答える