2013-08-30 20 views
7

私は終了ステータス-9を返すpythonスクリプトを持っています。-9の状態で突然終了する

私はatexitモジュールで問題の根本を取得しようとしましたが、呼び出されませんでした。

私のスクリプトがなぜ終了するのかを見つけるのに役立つヒントはありますか?

問題が再現され、オペレーティングシステム:Linux 3.7.10

答えて

16

スクリプトは、オペレーティング・システムによって殺されました。負の戻り値は、プロセスを終了させるために使用されたシグナル番号です。

スクリプトが多すぎるメモリを必要としました。私はsyslogでこれを見つけました:

Out of memory: Kill process 26184 (python) score 439 or sacrifice child 
Killed process 26184 (python) total-vm:628772kB, anon-rss:447660kB, file-rss:0kB 
+0

メモリが漏洩した場所のコードの正確な部分を共有することができれば、答えが良くなります。 –

+1

メモリが不足しているため、オペレーティングシステムがプロセスを強制終了したことを知ってうれしく思います。多くの記憶を必要とするスクリプトが他の質問である理由 – guettli

+1

負の終了ステータスは、Pythonの[サブプロセスモジュール](https://hg.python.org/cpython/file/a889c5524520/Lib/subprocess.py#l1034)に固有のものです。 Shellは '{128 + signum} 'を返すでしょう(http://tldp.org/LDP/abs/html/exitcodes.html)。 –

関連する問題