Портативный способ передать дескриптор файла между различными процессами

Вы должны отобразить страницу с правильным статусом.

render(:file => File.join(Rails.root, 'public/403.html'), :status => 403, :layout => false)
23
задан Martijn Pieters 26 January 2015 в 21:04
поделиться

2 ответа

Лучше всего попробовать отправить дескриптор файла через сокет домена Unix. Это описано у Стивенса и в нескольких местах в сети, но я могу выкопать для вас код, если вы вежливо спросите.

В наши дни это будет довольно переносимо; многие вещи, которые считались «непереносимыми» еще тогда (например, mmap !), сейчас чрезвычайно распространены. Если вам нужно быть более портативным, чем «большинство современных систем», у вас впереди много интересных вопросов, но, возможно, если вы расскажете нам больше о том, что вы делаете и над какими платформами вы работаете ( возможно, платформы POSIX, отличные от Unix?), мы могли бы помочь.

17
ответ дан 29 November 2019 в 02:42
поделиться

Существует механизм на основе сокетов домена Unix для передачи дескрипторов файлов (таких как сокеты - которые, конечно, не могут быть отображены в памяти) между процессами - с использованием sendmsg () системный вызов.

Вы можете найти больше в Stevens (как упомянул Курт Сэмпсон), а также в Wikipedia .

Вы можете найти гораздо более свежий вопрос с рабочий код на Отправка дескриптора файла через сокет Linux .

11
ответ дан 29 November 2019 в 02:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: