Расширение Mozilla - чтение стандартного внешнего процесса
Я пытаюсь бежать dvipng
процесс из расширения Thunderbird с помощью Components.interfaces.nsIProcess
, Мне нужно прочитать стандартный вывод процесса, но я не могу найти способ сделать это. Я нашел некоторые темы на nsIProcess2
, но этот (как кажется) никогда не был полностью реализован с помощью stdout. Какие-либо предложения?
1 ответ
Решение
nsIProcess2
не имеет отношения - это было реализовано, но позже свернуто в nsIProcess
, Это было только о запуске процессов асинхронно.
Соответствующие ошибки: ошибка 484246 и ошибка 68702. Последнее было решено, но пока код не поставляется с Firefox/Thunderbird по умолчанию (это довольно много кода, который не нужен ни Firefox, ни Thunderbird). Итак, ваши варианты:
- Создайте IPCModule самостоятельно и сделайте его частью своего расширения - не рекомендуется, потому что это вызовет много проблем.
- Создайте нативную библиотеку, которая будет вызывать
dvipng
для вас используйте его через js-ctypes - должно быть самое простое решение. - Очередь
dvipng
в библиотеку и использовать ее напрямую через js-ctypes - возможно, не слишком сложно, это также даст вам лучшую производительность.