LINUX.ORG.RU

fork | pthread вызвать из чайлда парент и обратно?


0

0

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


В общем случае создать трубу или пару сокетов между процессами. Можно насочинять ещё методы, более удобные в частных случаях.

const86 ★★★★★
()
Ответ на: комментарий от sjinks

>В общем случае создать трубу или пару сокетов между процессами. Можно насочинять ещё методы, более удобные в частных случаях.

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

>А seteuid(2) не подойдет?
хм...
seteuid() sets the effective user ID of the calling process. Unprivileged user processes may only set the effective user ID to the real user ID,the effective user ID or the saved set-user-ID.
т.е. этим можно выбрать uid 0 и выполнить что-то от рута в том же секурити ливлее? тогда наверно getppid()

syn
() автор топика
Ответ на: комментарий от syn

syn, я имел в виду, что child сделает seteuid(). А когда нужно будет выполнить привилегированную операцию, сделает seteuid() обратно. Хотя в этом случае и одного процесса, наверное, хватит.

sjinks ★★★
()

По мне так ничего лучше чем обмен сообщениями через сокеты или пайпы ничего нету. Если хотите, то можете сигнал послать. SIGUSR1 кажется называется.

pathfinder ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.