O que significa 'line 19: 12364 Killed' na mensagem de erro crontab?

4

Eu recebi uma tarefa diária de crontab:

50 1 * * * sh /my_path/daily_task.sh > /tmp/zen_log 2>&1

Este script de shell daily_task executará alguns scripts python e produzirá um arquivo de dados.

E isso falha por duas noites. Mas quando cheguei de manhã, executei os scripts python manualmente, obtive o arquivo de dados. Ou eu defino um novo crontab que apenas define a data como 0 10 * * * , e este crontab também tem sucesso.

Então, ontem, coloquei > /tmp/zen_log 2>&1 na tarefa Cron para obter alguma mensagem de erro.

E esta manhã, recebi esta mensagem de erro em zen_log:

/my_path/daily_task.sh: line 19: 12364 Killed /usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1

Parece que algum processo foi morto? Mas o que exatamente isso significa line 19: 12364 Killed ?

PS:

Hoje, há um minuto, quando executo manualmente o script python, recebi: /usr/local/bin/python2.7 my_python_script.py 2 mix > mix_hc_$datestamp 2>&1 Killed

    
por Zen 12.02.2015 / 04:22

1 resposta

14

Muitas vezes, quando os aplicativos estão sendo killed , é sempre uma boa ideia dar uma olhada rápida no seu arquivo /var/log/messages para ver se o kernel está eliminando o processo. O gatilho mais comum (na minha experiência) sempre foi devido a erros de falta de memória (OOM), uma vez que minha empresa usa principalmente aplicativos java, é bastante comum que os devs publiquem uma atualização de código ruim que aciona um evento OOM .

O agendamento de tarefas quando seu sistema operacional tem o maior número de recursos disponíveis é provavelmente o motivo pelo qual ele está obtendo êxito nos intervalos de tempo AM e não no PM quando a maioria das pessoas gosta de agendar tarefas do sistema de tributação. Soluções simples para isso são aumentar os recursos dos sistemas, restringir os recursos alocados para o seu código ou movimentar-se quando os trabalhos estiverem agendados para que não entrem em conflito.

    
por 12.02.2015 / 06:13

Tags