Где я могу видеть, что список ядра уничтожил процессы?

sudo python -m SimpleHTTPServer 80

для Python 3.x версия, Вам, возможно, понадобится:

sudo python -m http.server 80

Порты ниже 1024 требуют полномочий пользователя root.

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

Однако это отвечает на вопрос.

33
25.03.2011, 10:12
3 ответа

Если ядро уничтожило процесс (потому что система исчерпала память), будет сообщение журнала ядра. Регистрация /var/log/kern.log (на Debian/Ubuntu другие дистрибутивы могли бы отправить журналы ядра в другой файл, но обычно под /var/log в соответствии с Linux).

Обратите внимание, что, если OOM-уничтожитель (уничтожитель из памяти) инициированный, это означает, у Вас нет достаточной виртуальной памяти. Добавьте больше подкачки (или возможно больше RAM).

Некоторые катастрофические отказы процесса зарегистрированы в журналах ядра также (например, отказы сегментации).

Если бы процессы были запущены с крона, то у Вас должна быть почта с сообщениями об ошибках. Если процессы были запущены с оболочки в терминале, проверьте ошибки в тот терминал. Выполните процесс в screen видеть терминал снова утром. Это не могло бы помочь, если бы OOM-уничтожитель инициировал, потому что он, возможно, уничтожил крон или экранный процесс также; но если Вы столкнулись с OOM-уничтожителем, это - проблема, которую необходимо решить.

30
27.01.2020, 19:37
  • 1
    Каков поток, уничтожают сообщение как в /var/log/kern.log? –  Bee 28.01.2018, 18:33

Учет процесса мог помочь здесь.

Вкратце:

apt-get install acct

Затем попробуйте команды как:

lastcomm
sa

или на Ubuntu:

lastcomm -f /var/log/account/pacct
sa /var/log/account/pacct

См.:

ОБНОВЛЕНИЕ

Странно, pacct файл имеет информацию о статусе выхода, но ни одном lastcomm ни sa кажется, печатаю его.

Таким образом, насколько я вижу, необходимо было бы записать собственную программу C для доступа к информации.

ОБНОВЛЕНИЕ 2

Вот версия, которая печатает код выхода.

Последние два поля являются "S" для сообщенного и "E" для вышедшего, сопровождаемого числом сигнала или статусом выхода.

Таким образом в Вашем случае, Вы, вероятно, ищете "S 15", означающий это, получил SIGTERM.

sleep                X mikel    stdin      0.00 secs Fri Mar 25 20:15 S  15

По сравнению с "E 0", что означает процесс, из которого выходят без ошибки.

true                   mikel    stdin      0.00 secs Fri Mar 25 20:16 E   0

Только минимально протестированный.

12
27.01.2020, 19:37

сервис sudo - состояние - все

Эта команда скажет Вам, что является сервисами, в настоящее время работают и которые не запускаются или останавливаются..

-1
27.01.2020, 19:37

Теги

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