mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-07-18 03:12:16 +08:00
- 安装脚本 Setsid 脱离主进程,避免 Quit 后脚本被连带结束 - 等待宿主退出增加 120s 超时,防止无限挂起 - 支持 dmg/zip 解包定位 .app,稳健解析 Contents/MacOS 可执行文件 - 不再 rm -rf 脚本所在 STAGED 目录,降低安装中途自删风险 - 替换失败明确走管理员权限回退,增强 relaunch(open -n -a / nohup) - 补充 macOS 更新脚本单测
22 lines
383 B
Go
22 lines
383 B
Go
//go:build !windows
|
|
|
|
package app
|
|
|
|
import (
|
|
"os/exec"
|
|
"syscall"
|
|
)
|
|
|
|
// configureDetachedUpdateCommand 让安装脚本脱离主进程会话,避免 Quit/Exit 后脚本被连带结束。
|
|
func configureDetachedUpdateCommand(cmd *exec.Cmd) {
|
|
if cmd == nil {
|
|
return
|
|
}
|
|
cmd.SysProcAttr = &syscall.SysProcAttr{
|
|
Setsid: true,
|
|
}
|
|
cmd.Stdin = nil
|
|
cmd.Stdout = nil
|
|
cmd.Stderr = nil
|
|
}
|