Система, отправляющая SIGTERM и SIGKILL во время нормальной работы

wget -r -O - $SITE | scanningProgram

будет работать, пока Вы не заботитесь об именах файлов, dirnames, путях, и т.д.

Вот пример

wget -r -O - http://ginatrapani.googlepages.com | sed 's/./X/g'

весь outout от этого сайта преобразовывается в X символов

2
03.04.2013, 22:17
2 ответа

'система' является очень неоднозначным термином. Если мы будем говорить ядро, то ядро никогда не будет отправлять SIGTERM. Это отправит SIGKILL, когда уничтожитель OOM будет вызван все же.

Вероятный сценарий является сценарием или чем-то, что имеет плохое pkill или killall команда, которая неуместно соответствует Вашему процессу. Когда Вы запускаете команду с gdb, это - имя процесса, и аргументы отличаются, таким образом, это казалось бы другим pkill/killall.

4
27.01.2020, 22:01
  • 1
    Спасибо за Ваш ответ! Я переименовал файл к 1, и это было уничтожено. Я также создал a while(1) sleep(1); процесс с именем, которое это имело прежде, помещал его в ту же папку, и это не было уничтожено. Оба процесса не имели никаких аргументов. Таким образом, я предполагаю, что это не имя процесса. –  Aneri 04.04.2013, 11:39
  • 2
    прокси, я не смог получить свой IP как это, просто дает его как:<img src='ipimg.php'/> ---------121 интересный--------442----@Aneri. В этой точке ограничены опции. Если бы Вы имеете selinux в наличии, я попытался бы создать selinux политику зарегистрироваться, когда любое приложение отправляет сигнал. Таким образом, можно выяснить, куда это прибывает из. Или добавьте что-то к LD_PRELOAD (для всей системы) для переопределения kill() и журнал, когда это называют. –  Patrick 04.04.2013, 16:39
  • 3
    благодарит за ответ. Я создал файл с регистрирующейся версией kill(), но это показало, что никакие не уничтожают моего pid! Это действительно регистрируется, уничтожает, я протестировал его и видел udevd уничтожение некоторых процессов и так далее. Но ничто не закрыло мою программу. У меня был свой lib в /etc/ld.so.preload, таким образом, это было активно для всей системы. Я не знаю, как установить политику для selinux, но попытаюсь узнать. –  Aneri 04.04.2013, 22:33

Возьмите сценарий systemtap и отслеживайте доставку сигнала. Самый простой подход, который может быть достаточным, - это, например, здесь: https://sourceware.org/systemtap/examples/lwtools/killsnoop-nd.stp

Может быть расширен, например, на распечатать все дерево процессов убийцы.

Более эффективный сценарий будет отслеживать не системный вызов, а место, в которое фактически доставляется сигнал. Придумывание такого сценария остается для читателя в качестве упражнения.

0
27.01.2020, 22:01

Теги

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