Eu agendei um script Python simples para ser executado a cada minuto sob o usuário foo
SHELL=/bin/bash
BASH_ENV=/home/foo/.bash_profile
* * * * * python /home/foo/slack-bot/main.py 2>&1 /home/foo/slack-bot.log
Depois de alguns minutos, recebi esses erros e logo depois fui expulso do meu servidor
-bash: fork: Cannot allocate memory
-bash: wait_for: No record of process 32012
-bash: fork: Cannot allocate memory
-bash: wait_for: No record of process 32012
....
Uh oh. Então, tentei fazer login como root
e sudo-ing como foo
sudo -iu foo
sudo: unable to execute /bin/bash: Cannot allocate memory
Ótimo.
Em seguida, removi a linha ofensiva do arquivo crontab do usuário foo
e também matei todos os processos com slack
no nome
kill $(ps aux | grep 'slack' | awk '{print $2}')
Agora recebo um erro diferente, mas ainda não consigo usar esse usuário:
sudo -iu foo
-bash: xmalloc: .././copy_cmd.c:86: cannot allocate 32 bytes (450560 bytes allocated)
O que está acontecendo aqui? Tenho certeza de que há um erro em minha programação cronológica que investigarei, mas que tipo de comportamento causa os erros de bifurcação de falta de memória? Qual é a melhor maneira de recuperar além de um hard-reset?
Obrigado!