Есть ли способ запретить exec() вызывать функции fini() или _attribute__((destructor))?Linux

Ответить
Anonymous
 Есть ли способ запретить exec() вызывать функции fini() или _attribute__((destructor))?

Сообщение Anonymous »

Добрый день, господа,
вопрос по созданию нового процесса через пару fork() + exec() здесь.
Есть ли способ запретить exec() вызывать функции fini() или _attribute__((destructor))?
Я наблюдаю, когда разветвленный процесс вызывает exec() — все функции fini() и _attribute__((destructor)) функции во всех загруженных общих библиотеках выполняются в разветвленном процессе перед преобразованием в новое приложение.
В большом (сотни общих библиотек) проекте , скажем, центр управления особняком «умный дом»,
некоторые из общих библиотек в глубине архитектуры принадлежат третьим лицам и не могут быть изменены.
Одна из общих библиотек — это модуль управления воротами, и он считает, что все ворота, которые он контролирует, должны быть закрыты после закрытия ( или _attribute __ ((destructor)) ).
Поэтому, когда я хочу породить крошечный процесс для цели MISC, ворота закрыты (опасность).
Есть ли разумный способ решить эту проблему при создании нового процесса?
Проверено на любом приложении C/C++ в Ubuntu 18/20

Подробнее здесь: https://stackoverflow.com/questions/791 ... destructor
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»