Как запустить фоновый процесс узла с vscode и без узла на клиентском компьютере

#visual-studio-code #vscode-extensions

#visual-studio-code #vscode-расширения

Вопрос:

Я хотел бы запустить процесс узла в фоновом режиме моего расширения VS Code (что-то, что останется живым даже после завершения работы VSCode).

На целевой машине нет узла, а установлен только VSCode.

Я попытался использовать fork с переменной env ELECTRON_RUN_AS_NODE = 1 и detached следующим образом:

 const { fork } = require('child_process');
fork('path to js', {detached: true, env: {...process.env, ELECTRON_RUN_AS_NODE:'1'})
 

Это работает, как и ожидалось, однако процесс, похоже, останавливается, когда я закрываю или перезапускаю VS Code.
Дочерний процесс, похоже, использует процесс визуализации VS Code (я думаю, именно поэтому он умирает).

Кто-нибудь пробовал это или предложения о том, как я мог бы запустить процесс узла в фоновом режиме на компьютере с VS Code и не иметь установленного узла.

Комментарии:

1. Обнаружил, что он работает так, как ожидалось.

Ответ №1:

Обнаружено, что он работает должным образом, если не отлаживать расширения VS Code.

Однако при отладке расширений в VS Code по какой-то причине дочерние процессы также уничтожаются. Может быть, это как-то связано с отладчиком.

Чтобы было понятно, проблема, с которой я столкнулся, заключалась в том, что дочерние процессы были убиты во время отладки VS Code.