LINUX.ORG.RU

История изменений

Исправление 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 и оно же вшито в основной программе, ну или просто числом передавать.


Да, у тебя будет прибитая гвоздями связка из основной программы + программы посылающей её сигнал. Но зато ты получаешь по сути гибкое межпроцессорное взаимодействие с фичёй сигнала прервать процесс для выполнения срочных действий. Или типа того.

Да вторую программу писать вообще не обязательно, можно и без того в конкретный пайп писать. Но, хотя чё но, норм. Ну разве что как избежания от ошибок не мусор слать, а конкретные «сигналы», а мусор не пускать, тогда отдельная приложенька.