admin 管理员组

文章数量: 1184232

一、遇到的问题

近期有看到一些小伙伴提问,在开发go语言程序时,360安全卫士或者其他的杀毒软件,会拦截main.exe的问题

例如报错信息 :fork/exec C:\Users\Administrator\AppData\Local\Temp\go-build4237955751\b001\exe\main.exe: Access is denied.
或如下图 :360安全卫士以及一些杀毒软件弹窗

二、问题原因

首先这个问题的原因简单的理解,是因为这类安全防护类的杀毒软件会自动检测临时缓存目录,如果有不能识别的exe文件就会拦截

三、解决步骤

也有看到其他小伙伴们解决的方式, 是把这类软件直接退出和卸载
当然这也是一个不错的办法!

但可能对于一部分人可能不是很想这样,那么可以 用以下的方式

  1. 首先,查看一下go的 环境变量
  2. 命令 go env 查看环境变量
  3. 其中有一个配置项是 GOTMPDIR 这个环境变量配置项,用于指定 Go 编译器在编译过程中使用的临时目录。这个环境变量允许你自定义 Go 工具链在编译期间存放临时文件的位置。
  4. 默认配置通常大概率是空没有设置的 GOTMPDIR=“”
  5. 所以这个时候当你运行一个go文件的时候,例如: go run main.go 就会产生一个临时文件

本文标签: 安全卫士 编程 拦截