5

subprocessシステムの優先度が低いPythonモジュールでプロセスを開始する方法を探しています。すでに見つけました:

マニュアルには言及priorityされていません。subprocess

私はすでに機能していると思われるソリューションを持っています:

self.start_low_priority =  ('cmd', '/c', 'start', '/MIN', '/LOW', '/B', '/WAIT')

注:これを機能させるには、 スイッチ/B /WAITをこの順序にする必要があります

そしてそれを次のように使用します:

args = self.start_low_priority + ( 'foo.exe', 'bar', 'foobar')
subprocess.call( args, shell=False)

しかし、この解決策は正しくクリーンな方法ではないようです。また、Process Explorerは、このように開始されたアプリケーションから正しい「プロセス ツリー」を構築できません (したがって、プロセス ツリーを強制終了することはできません)。

Windowsでこれを行うための良い方法はありますか? Python は、私が見逃したマルチプラットフォーム ソリューションを提供していませんか?

4

1 に答える 1

4

ライブラリを利用できますpsutil。特に、優先順位の設定psutil.Process.niceを希望の値に設定できます。

例については、この回答も参照してください。


編集psutilのドキュメント設定Process.niceを直接確認することは非推奨ですProcess.nice(value)。代わりに使用する必要があります。

于 2012-12-10T16:20:48.980 に答える