我尝试为我的程序创建一个自动更新程序,它会构建我的程序并将其放在临时文件UPDATED_BINARY
中,但是当我尝试用这个临时文件替换当前的可执行文件时,如下所示:
content, err := ioutil.ReadFile("UPDATED_BINARY")
if err != nil {
return err
}
packyFile, err := os.Create("/bin/packy")
if err != nil {
return err
}
defer packyFile.Close()
_, err = packyFile.Write(content)
return err
}
它返回文件当前正在使用的错误。有没有办法在Go中替换当前运行的二进制文件?
注意:它必须与Windows兼容