Debugging exec.命令无法在调试模式下运行

Debugging exec.命令无法在调试模式下运行,debugging,go,visual-studio-code,exec,root,Debugging,Go,Visual Studio Code,Exec,Root,我正在尝试使用exec命令在/var和/etc中创建目录,因为我需要root权限,所以我执行了以下操作: path := "/var/log/xxx/yyy" cmd := exec.Command("sudo", "mkdir", "-p", path) err = cmd.Run() 我在golang项目中使用Visual studio代码,有趣的是,我发现这段代码在终端执行时工作得非常好。但在调试模式下从VisualStudio代码运行时根本不起作用 有人知道这是为什么吗?我怀疑sudo

我正在尝试使用exec命令在/var和/etc中创建目录,因为我需要root权限,所以我执行了以下操作:

path := "/var/log/xxx/yyy"
cmd := exec.Command("sudo", "mkdir", "-p", path)
err = cmd.Run()
我在golang项目中使用Visual studio代码,有趣的是,我发现这段代码在终端执行时工作得非常好。但在调试模式下从VisualStudio代码运行时根本不起作用

有人知道这是为什么吗?

我怀疑sudo无法从终端读取密码,因为调试的进程没有连接到真正的终端。多个选项:

在/etc/sudoers中禁用密码提示: 在图形密码提示中使用sudo-A标志结束设置sudo_ASKPASS环境。例如: cmd:=exec.Commandsudo,-A,mkdir,-p,path cmd.Env=appendos.Environ, SUDO_ASKPASS=/usr/bin/qt4 ssh ASKPASS 错误:=cmd.Run
通过向cmd.stderr分配os.stderr或缓冲区等,或者通过调用CombinedOutput而不是Run来检查stderr。什么是调试模式?
%wheel ALL=(ALL) NOPASSWD: ALL