Полагаю, вы пишете библиотеку. Ответ - нет, нет, нет, NO ! Просто напишите в документации, что клиентский код не должен регистрировать обработчик для этого сигнала. Если вы не можете доверять пользователям вашей библиотеки, чтобы они не ломали вещи, тогда вы должны писать приложения, а не библиотеки.
Независимо от того, что вы делаете, чтобы ваш обработчик был приоритетным по отношению к другим, он не будет работать, если другой код делает то же самое. Вот очень важный пост в блоге о разработчиках Windows, которые хотят создать «самое верхнее окно» (вроде как обработчик сигналов «самого высокого приоритета»).
http://blogs.msdn.com/b/oldnewthing/archive/2011/03/10/10138969.aspx
P.S. В Linux не существует хорошего способа предоставить разные уровни полномочий на более тонком уровне, чем уровень процесса.
P.P.S. Чтобы уточнить, работает ли мой код в вашем процессе, вы ничего не можете сделать. Вы уже потеряли. Мой код может получить доступ к вашим личным переменным-членам, освободить вашу память, закрыть ваши файлы и выгрузить ваши библиотеки. (Вы можете написать код ядра или запустить все в виртуализации, но это было бы ужасно.)