Процесс завершается SIGKILL

Я запускаю алгоритм на сервере, и алгоритм требует много времени для завершения. Но по какой-то причине процесс автоматически убивается. Я не уверен точно в причине этого, и погуглив я нашел несколько скриптов, которые могут дать мне больше информации.

./temp.sh: line 2: 30539 Killed                  ./process file1
Got SIGNAL 9
process was killed with SIGKILL
dmesg: read kernel buffer failed: Operation not permitted

Я пытался погуглить, но не знаю, что означает сообщение в журнале и как его исправить. Может ли кто-нибудь сказать мне, почему процесс убивается и как его остановить?

Я использую ядро ​​4.9.0-6-amd64 и Debian 9

0
09.05.2019, 18:03
1 ответ

Трудно сказать точно, так как вы не даете достаточно информации. Некоторые вещи, которые вы можете попробовать:

1)dmesgдолжен сообщить вам, если OOM Killer был активирован из-за нехватки общей системной памяти.

2)cat /var/log/messagesможет помочь определить проблемы, связанные с процессом, вы можете попытаться отфильтровать оттуда только ошибки

Если это не какой-либо из этих 2, то это, вероятно, проблема в вашем приложении, например вызов kill. Еще одна вещь, о которой следует упомянуть, это(справочная страница signal):

The signals SIGKILL and SIGSTOP cannot be caught, blocked, or ignored.

Таким образом, есть большая вероятность, что это исходит из ядра из-за какого-то нарушения вашей программы.

0
28.01.2020, 03:42

Теги

Похожие вопросы