Что убило мой процесс и почему? - PullRequest
539 голосов
/ 07 апреля 2009

Мое приложение работает в Linux как фоновый процесс. В настоящее время он запускается из командной строки в окне терминала.

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

Убит

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

При каких условиях Linux решит убить мой процесс? Я полагаю, что оболочка показала «kill», потому что процесс умер после получения сигнала kill (9). Если Linux отправил сигнал уничтожения, должно ли быть какое-либо сообщение в системном журнале, объясняющее, почему оно было убито?

Ответы [ 14 ]

1 голос
/ 30 декабря 2018

В моем случае это происходило с работником очереди Laravel. Системные журналы не упоминали никаких убийств, поэтому я посмотрел дальше, и оказалось, что рабочий в основном убивал себя из-за задания, которое превысило ограничение памяти (которое по умолчанию установлено на 128 МБ).

Запуск работника очереди с --timeout=600 и --memory=1024 устранил проблему для меня.

0 голосов
/ 04 мая 2019

Решена эта проблема путем увеличения размера свопа :

https://askubuntu.com/questions/1075505/how-do-i-increase-swapfile-in-ubuntu-18-04

0 голосов
/ 29 октября 2012

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

0 голосов
/ 07 апреля 2009

Пользователь имеет возможность убивать свои собственные программы, используя kill или Control + C, но у меня складывается впечатление, что это не то, что произошло, и что пользователь пожаловался вам.

Конечно, root имеет возможность убивать программы, но если кто-то имеет root на вашей машине и убивает вещи, у вас большие проблемы.

Если вы не являетесь системным администратором, возможно, системный администратор установил квоты на использование ЦП, ОЗУ, ort диска и автоматически убивает процессы, которые превышают их.

Кроме этих предположений, я не уверен без дополнительной информации о программе.

...