LINUX.ORG.RU

Узнать процесс породивший процесс из стороннего

 ,


0

1

суть: 1) есть процесс 2) он создает дочерний процесс, который шлет сигнал стороннему и мгновенно исчезает 3) нужно из стороннего узнать процесс, который породил сигналивший Такое возможно сделать? Или менять идеальный вариант и сложный на человеческий. Господа бородачи(волшебники) - выручайте :)

Дык, шли вместе с сигналом PID этого процесса. Читай про IPC.

anonymous ()
Ответ на: комментарий от anonymous

В том и дело, что не хочется использовать пайп/очереди. Вопрос именно в том, как узнать pid процесса по pid уже завершенного дочернего процесса. Вообще, реально ли это?

VestnikKot ()
Ответ на: комментарий от VestnikKot

Никак. Если процесс сдох, то ты его в /proc не найдешь → не сможешь ppid узнать.

И вообще, читай маны:

Если сигнал отправляется с помощью sigqueue(3), то с сигналом может быть отправлено некоторое значение (целочисленное, либо указатель). Если принимающий процесс устанавливает обработчик для сигнала, используя флаг SA_SIGINFO и вызов sigaction(2), то он может получить это значение через поле si_value структуры siginfo_t, переданной обработчику в виде второго аргумента. Кроме этого, поля si_pid и si_uid данной структуры можно использовать для получения идентификатора процесса и реального идентификатора пользователя, отправившего сигнал.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.