Contexto: Estou usando o bash no Mac OSX Yosemite.
Problema: Estou executando um script (python) que espero usar muitos recursos e levo algumas horas para executar, redirecionando stdout e stderr para um arquivo de log.
python script.py >> logfile.txt 2>&1
Após o retorno, descubro que eu fiz o logout automaticamente e que o trabalho não foi concluído. Além disso, não há evidência de um bug no arquivo de log. Parece que o processo do usuário está sendo morto, e estou curioso para saber como pegá-lo e evitar que isso aconteça.
Mais detalhes relevantes são que o script python está executando muitas operações de banco de dados em uma instância mongodb razoavelmente grande (~ 4 milhões de linhas).
Eu suspeito que isso tenha algo a ver com as configurações de ulimit
. As minhas são as seguintes:
$ 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