История изменений
Исправление LINUX-ORG-RU, (текущая версия) :
Я сам до этого треда понятия не имел какие там ограничения =)
Мысли в слух вероятно придурковатые.
Ну наверное можно сделать финтом если ты хочешь из вне посылать сигналы, но разные своему приложению , основная программа при своём запуске делает mkfifo('my_signal_fifo_info_channel'...)
и обработчик SIGUSR1
который при своём вызове читает из FIFO
информацию чего его там дрыгнули получая код 100500
и по своей табличке смотрит, ага мне послали сигнал 100500 буду делать то-то, мне послали сигнал 100501
буду делать уже вот это.
В программе которая посылает сигнал открывается my_signal_fifo_info_channel
и в него пишется 100500
,100501
типа
mykill UPDATE_ALL_METRICS
где UPDATE_ALL_METRICS == 100500
и оно же вшито в основной программе, ну или просто числом передавать.
Да, у тебя будет прибитая гвоздями связка из основной программы + программы посылающей её сигнал. Но зато ты получаешь по сути гибкое межпроцессорное взаимодействие с фичёй сигнала прервать процесс для выполнения срочных действий. Или типа того.
Да вторую программу писать вообще не обязательно, можно и без того в конкретный пайп писать. Но, хотя чё но, норм. Ну разве что как избежания от ошибок не мусор слать, а конкретные «сигналы», а мусор не пускать, тогда отдельная приложенька.
Исходная версия LINUX-ORG-RU, :
Я сам до этого треда понятия не имел какие там ограничения =)
Мысли в слух.
Ну наверное можно сделать финтом если ты хочешь из вне посылать сигналы, но разные своему приложению , основная программа при своём запуске делает mkfifo('my_signal_fifo_info_channel'...)
и обработчик SIGUSR1
который при своём вызове читает из FIFO
информацию чего его там дрыгнули получая код 100500
и по своей табличке смотрит, ага мне послали сигнал 100500 буду делать то-то, мне послали сигнал 100501
буду делать уже вот это.
В программе которая посылает сигнал открывается my_signal_fifo_info_channel
и в него пишется 100500
,100501
типа
mykill UPDATE_ALL_METRICS
где UPDATE_ALL_METRICS == 100500
и оно же вшито в основной программе, ну или просто числом передавать.
Да, у тебя будет прибитая гвоздями связка из основной программы + программы посылающей её сигнал. Но зато ты получаешь по сути гибкое межпроцессорное взаимодействие с фичёй сигнала прервать процесс для выполнения срочных действий. Или типа того.
Да вторую программу писать вообще не обязательно, можно и без того в конкретный пайп писать. Но, хотя чё но, норм. Ну разве что как избежания от ошибок не мусор слать, а конкретные «сигналы», а мусор не пускать, тогда отдельная приложенька.