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

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

journalctl -o verbose _PID=16630
-- Logs begin at Thu 2021-10-28... 
    [s=b8b9ba8c0b3a434ab134b8e39ad9a421;...]
    SYSLOG_FACILITY=3
    PRIORITY=6
    _UID=0
    _GID=0
    _SYSTEMD_SLICE=system.slice
    _BOOT_ID=dac5e28c70d04920ad8b140efa
    _MACHINE_ID=b66fd2c1b04547d4b1471c0e
    _HOSTNAME=server
    _CAP_EFFECTIVE=3fffffffff
    _TRANSPORT=stdout
    _CMDLINE=/bin/sh /etc/init.d/apache2 stop
    _EXE=/bin/dash
    SYSLOG_IDENTIFIER=apache2
    _COMM=apache2
    _SYSTEMD_UNIT=apache2.service
    MESSAGE= * Stopping Apache httpd web server apache2
0
задан 28 October 2021 в 02:31
2 ответа

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

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

0
ответ дан 28 October 2021 в 06:21

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

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

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

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

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

0
ответ дан 29 October 2021 в 12:56

Теги

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