コンテキスト:私はMac OSX Yosemiteでbashを使用しています。
問題:多くのリソースを使用して実行するのに数時間かかるstdoutとstderrをログファイルにリダイレクトしたい(python)スクリプトを実行しています。
python script.py >> logfile.txt 2>&1
戻ってみると自動的にログアウトされ、ジョブが完了していない状態でした。また、ログファイルにエラーがあるという証拠はありません。ユーザープロセスが終了しているように見えますが、これをどのようにキャッチして回避できるか疑問に思います。
さらに詳しくは、Pythonスクリプトがかなり大きなmongodbインスタンス(〜400万行)で多くのデータベース操作を実行していることです。
私はこれが設定に関連していると思いますulimit
。私のものは次のとおりです。
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
file size (blocks, -f) unlimited
max locked memory (kbytes, -l) unlimited
max memory size (kbytes, -m) unlimited
open files (-n) 256
pipe size (512 bytes, -p) 1
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 709
virtual memory (kbytes, -v) unlimited