2015-10-10 2 views
0

Я пытаюсь запустить код Python в песочнице PyPy. Мне нужно получить результат из скрипта, который не мешает работе stdout.Pypy sandbox - writing to/tmp

Я читал много источников, и большинство из них упоминает, что sanboxed script может записывать файлы в виртуальные/tmp. Однако я не могу этого добиться (все источники отсутствуют).

Если доступ на запись к/tmp невозможен, возможно ли открыть канал между скриптом sanboxed и скриптом управления?

Если это невозможно, могу ли я записать двоичные данные в стандартный вывод? Я хотел бы пометить начало и конец вывода в stdout, поэтому скрипт управления может отличать то, что выводится пользователем, и каков мой вывод.

ответ

0

Виртуальный/tmp доступен только для чтения; на самом деле любая попытка подпроцесса написать любой файл будет лишена. Если вы хотите изменить это, вы можете отредактировать источники, контролирующие внешний процесс, которые пока отказываются от каких-либо попыток записи. Начните с do_ll_os__ll_os_open в rpython/translator/sandbox/sandlib.py.

+0

Большое спасибо за руководство. – user3248821