На днях я запустил работу на нашем сервере, набрав 70% памяти. Когда я зарегистрировался на один день позже, чтобы проверить его, работа была убита (в терминале она была убита).
Мой вопрос: могу ли я узнать, что произошло?
Было ли это потому, что другой пользователь начал работу, которая заняла> 30% памяти, поэтому мой процесс был убит? Администратор убил его? ?Есть ли способ узнать, что именно произошло?
Итак, если вы хотите немедленно увидеть журнал ядра, то это будет убито, завершите его следующим скриптом bash:
#!/bin/bash
your_job_here
ret=$?
#
# returns > 127 are a SIGNAL
#
if [ $ret -gt 127 ]; then
sig=$((ret - 128))
echo "Got SIGNAL $sig"
if [ $sig -eq $(kill -l SIGKILL) ]; then
echo "process was killed with SIGKILL"
dmesg > $HOME/dmesg-kill.log
fi
fi
Примечание: «your_job_here» - это имя программы / задания вы хотите запустить. Этот скрипт проверяет код возврата программы и проверяет, был ли он убит с помощью SIGKILL, и если да, то сразу же выгрузите dmesg в свой домашний каталог в файле dmesg-kill.log
Hope что помогает