Расширение Mozilla - чтение стандартного внешнего процесса - PullRequest
2 голосов
/ 07 сентября 2011

Я пытаюсь запустить dvipng процесс из расширения Thunderbird, используя Components.interfaces.nsIProcess.Мне нужно прочитать стандартный вывод процесса, но я не могу найти способ сделать это.Я нашел несколько потоков на nsIProcess2, но этот (как кажется) никогда не был полностью реализован с помощью stdout.Есть предложения?

1 Ответ

2 голосов
/ 07 сентября 2011

nsIProcess2 не имеет отношения - оно было реализовано, но позже свернуто в nsIProcess.Речь шла только об асинхронном запуске процессов.

Соответствующие ошибки: ошибка 484246 и ошибка 68702 .Последнее было решено, но пока код не поставляется с Firefox / Thunderbird по умолчанию (это довольно много кода, который не нужен ни Firefox, ни Thunderbird).Итак, вы можете выбрать следующие варианты:

  • Создайте IPC. Создайте модуль самостоятельно и сделайте его частью своего расширения - не рекомендуется, поскольку это вызовет множество проблем .
  • Создание нативногобиблиотека, которая будет вызывать dvipng для вас, используйте ее через js-ctypes - должно быть самое простое решение.
  • Превратите dvipng в библиотеку и используйте ее напрямую через js-ctypes- вероятно, не слишком сложно, это также даст вам лучшую производительность.
...