0
でプログラムを実行すると、manualによると、gtimeout 600のpython myprogram.pyが</p> </blockquote> <p></p> <blockquote> <p>、私はGNUのCoreutilsのtimeoutコマンドを実行していますタイムアウト
期間があります浮動小数点数の後にオプションの単位が続きます。
'秒DS(デフォルト) 日
時間「D」分間、「H」は「M」は、 'python myprogram.py
部分は600秒(10分)以内に終了すべきです。驚いたことに、コマンドは実際には1時間後にタイムアウトします。どうして?
は多分あなたのPythonスクリプトは正しくSIGTERMに応答していませんか? '-s 9 'を追加してみてください。 'gtimeout -s 9 600 python myprogram.py'を実行し、代わりにSIGKILLを送信します。 – CherryDT
少し詳しく説明できますか?私はおそらくあなたの答えを受け入れるでしょう。 – zell
これが正しい解決策であるかどうかは分かりませんが、試してみる必要があります。今は推測だったし、実際の答えが十分ではないと思った。しかし、プロセスを終了するには2つの方法があります:シグナル "SIGTERM"は基本的にプロセスに終了を要求します(それを拒否するかもしれません)。そして "SIGKILL"はブロックできず、プロセスを強制しますOSによって終了される。 'gtimeout'は通常SIGTERMを送ります(' kill'のように)。 'kill -9'のように' -s 'を使って '9'(シグナルの名前である' KILL'と同じ)を指定することができます。 – CherryDT