Я пытаюсь использовать SIGUSR1 с таймером. Работает нормально при запуске двоичного файла из командной строки. Но если я запускаю тот же двоичный файл из команды system() из другого приложения, то SIGUSR1 игнорируется.

Я не хочу игнорировать сигнал SIGUSR1. Как решить эту проблему с помощью signal() или sigaction()?

1 ответ1

2

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

Если вы говорите о бинарном исполняемом файле, которым вы управляете, то вы можете закодировать его для (повторного) включения любых сигналов.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .