Обратите внимание, что с помощью системного вызова sigqueue () вы можете передать дополнительный фрагмент данных вместе со своим сигналом. Вот краткая цитата из "sigqueue человека 2":
Аргумент значения используется для указания
сопутствующий элемент данных (либо
целое число или значение указателя)
послал
с сигналом, и имеет следующий тип:
union sigval {
int sival_int;
void *sival_ptr;
};
Это очень удобный способ передачи небольшого количества информации между двумя процессами. Я согласен с пользователем выше - используйте SIGUSR1 или SIGUSR2 и хороший сигвал, и вы можете передать все, что захотите.
Вы также можете передать указатель на некоторый объект в разделяемой памяти через sival_ptr и таким образом передать объект большего размера.