Рейтинг:0

Как я могу узнать, какая программа выполняется через PID, который закончился

флаг ru
leo

Я обнаружил, что есть программа, которая регулярно убивала мой Apache, согласно информации журнала, я понимаю, что есть программа, использующая «/etc/init.d/apache2 stop», чтобы остановить apache, так как этот процесс ушел, как я могу найти какой программе принадлежит этот PID?

journalctl -o подробный _PID=16630
-- Журналы начинаются в четверг 2021-10-28 ... 
    [s=b8b9ba8c0b3a434ab134b8e39ad9a421;...]
    SYSLOG_FACILITY=3
    ПРИОРИТЕТ=6
    _UID=0
    _GID=0
    _SYSTEMD_SLICE=системный.срез
    _BOOT_ID=dac5e28c70d04920ad8b140efa
    _MACHINE_ID=b66fd2c1b04547d4b1471c0e
    _HOSTNAME=сервер
    _CAP_EFFECTIVE=3ffffffffff
    _ТРАНСПОРТ = стандартный вывод
    _CMDLINE=/bin/sh /etc/init.d/apache2 остановить
    _EXE=/bin/тире
    SYSLOG_IDENTIFIER=apache2
    _COMM=apache2
    _SYSTEMD_UNIT=apache2.service
    СООБЩЕНИЕ= * Остановка веб-сервера Apache httpd apache2
Рейтинг:0
флаг us

Вы должны проверить dmesg для вывода ядра. Вероятным виновником является обработчик Out-Of-Memory ядра, который берет процесс и завершает его при нехватке системной памяти.

Это событие регистрируется в журнале ядра, показанном dmesg.

Рейтинг:0
флаг bd

Как только процесс завершается, вся информация о нем исчезает, кроме той, которая была зарегистрирована во время его работы. Информация, которую вы ищете (какая команда выполнялась с этим PID), просто больше не существует.

Ваш единственный шанс — зарегистрировать информацию, пока процесс еще выполняется. Если вы уверены, что убийство происходит путем выполнения команды /etc/init.d/apache2 остановить тогда одним из способов было бы добавить ведение журнала в скрипт /etc/init.d/apache2. Просто вставьте строку, например

 /bin/ps axf >> /tmp/apachekillertracker.log

где-то ближе к началу скрипта может уже помочь, поскольку он выгружает дерево процессов в /tmp/apachekillertracker.log каждый раз /etc/init.d/apache2 выполняется для вас, чтобы проверить позже.

Если выяснится, что убийство совершается не через /etc/init.d/apache2 в конце концов, тогда вы могли бы заглянуть в учет процесса выяснить, что работало в момент убийства.

leo avatar
флаг ru
leo
Спасибо, Тилман!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.