2017-06-14 1 views
0

UNIX/Linux OS上のPython 3 subprocessモジュールによって、timeoutに使用される時間測定はどれですか?UNIX/Linux OS上のサブプロセスモジュールによるタイムアウトにはどの時刻が使用されますか?

UNIXのようなOSは、プロセスの実行に異なる3つの時間:real,user、およびsystemを報告します。ほんの数ミリ秒の間生存するプロセスでさえ、real時間は多くの場合、userおよびsystem時間よりも数百パーセント長くなります。

timeユーティリティが報告したさまざまな時間について2-18ミリ秒かかると報告されているプロセスでは、タイムアウトを0.25秒に設定して、subprocess.call()subprocess.check_output()を使用してコールしています。問題はなく、私の調査は純粋に興味のないものです。

答えて

1

これは壁時計の時刻(real)であり、ユーザーランド(user)またはカーネル(system)のいずれの時間も費やしていません。

sleep 60などのプロセスを実行することでこれをテストできます。このプロセスでは、ユーザーやシステムの時間はほとんどなく、タイムアウトが発生していることがわかります。

+0

ありがとうございました。 Ahhはい、私は本当にそれを確認することができます: 'subprocess.call([" sleep "、" 60 "]、timeout = 1)'。良いアイデア、なぜ私はそれを考えなかったのですか? :) – mattst

関連する問題