【发布时间】:2021-08-25 11:32:56
【问题描述】:
我以 root 身份运行 go run main.go,但我想以普通用户身份在 main.go 中执行 top。
# main.go
package main
import (
"context"
"fmt"
"os"
"os/exec"
)
func run() {
cmd := exec.CommandContext(context.TODO(), "bash", "-c", "top")
cmd.Stdin = os.Stdin
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
err := cmd.Run()
if err != nil {
fmt.Println(
cmd.ProcessState.Success())
return
}
fmt.Println(
cmd.ProcessState.Success())
}
func main() {
run()
}
我该怎么做?
【问题讨论】:
-
注意:切勿使用
go run main.go。 Go 代码由包管理,而不是文件。例如,请改用go run .。
标签: go