Pythonのsubprocessのデフォルト動作変更:パフォーマンス向上とセキュリティのバランス
Pythonのsubprocessモジュールは、すべてのファイルディスクリプタを閉じるというデフォルト動作を変更します。この変更は、特に大量のファイルディスクリプタを扱う場合のパフォーマンス向上を目指しており、個々のディスクリプタを閉じることで発生するパフォーマンスボトルネックを回避します。しかし、デフォルト動作の変更はセキュリティリスクをもたらす可能性があります。開発者は、`close_fds`パラメータを状況に応じて選択し、適切なセキュリティ対策(すべてのファイルディスクリプタを継承不可としてマークするなど)を講じる必要があります。この変更は、パフォーマンスとセキュリティのバランスを考慮しており、開発者により柔軟で効率的なサブプロセスの管理ソリューションを提供することを目的としています。