Процесс порождения, который продолжает выполняться после app.quit () - PullRequest
0 голосов
/ 06 мая 2019

Как я могу запустить пользовательское приложение из электронного приложения. После запуска приложения электронное приложение должно выйти и перезапуститься после завершения программы. Это для освобождения системных ресурсов.

Я надеялся, что смогу использовать child_process.spawn с опцией detach и unref.

let command= 'notepad.exe && ./electron.exe'
const launched_application = child_process.spawn(command,[],{detached:true,stdio:'ignore',shell:true})
launched_application.unref()
app.quit()

Когда код попадает в app.close (), child_process также уничтожается. Есть ли способ сохранить child_process запущенным после app.quit ()

Это также вызывает ошибку в части &&, которую я планирую исправить с помощью файла .bat. Любые рекомендации по этому вопросу также приветствуются.

1 Ответ

0 голосов
/ 06 мая 2019

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

...