文章詳情頁
javascript - node如何關閉主進程后 打開另一進程?
瀏覽:185日期:2023-09-12 10:00:14
問題描述
雖然感覺這個需求有點不符合正常邏輯,但是我需要實現的是,一個自動更新的效果,從服務器下載的ZIP,壓縮到另一文件夾,然后打開新版本前,關掉舊版。因為是基于NW.JS,不支持多窗口預覽,所以開始新的進程(Nw窗口)前,得先關閉舊的進程(nw窗口),由于NW 0.1.3 過后,不支持多窗口同時開啟了,所以。。挺尷尬的。。但是我覺得肯定可以做到我這個需求的,畢竟有個NW-AUTOUPDATER也實現了,可是它與項目需求不符,不能使用,所以特向各位大神請教,謝謝!
問題解答
回答1:好像和我這個框架里的實現差不多...https://github.com/llwslc/ele...
先在后臺下載zip包, 點擊升級調用如下代碼
exec(`start update.exe ${pkgInfo.name} ${process.pid}`, {encoding: ’binary’}); app.exit(0);
將當前路徑路徑以及程序pid傳給update.exe, 然后程序退出...update.exe 會監控該pid, 直到pid消失...pid消失后update.exe將解壓zip包...解壓完成后, 重啟主程序并自己退出...
mac下直接unzip就行, 不需要另起程序...
標簽:
JavaScript
相關文章:
1. vue.js - 為什么我的vue項目上傳到github不能預覽?2. javascript - 函數聲明和匿名函數有什么不同?(前端小白求助。。)3. javascript - 求助一個關于indexedDB的問題4. mysql - linux ubuntu14.04找不到3306端口5. css3 - border-bottom 的長度可否超過盒子的寬度呢?實現如下圖效果。(我的書下面的線)6. html5 - 如何實現圖中的刻度漸變效果?7. 淺談vue生命周期共有幾個階段?分別是什么?8. index.php錯誤,求指點9. java - web端百度網盤的一個操作為什么要分兩次請求服務器, 有什么好處嗎10. css - 移動端 oppo 手機之 Border-radius
排行榜
