【发布时间】:2016-10-25 14:53:51
【问题描述】:
我正在尝试在一个分离的进程中启动一个命令,以便在 go 程序退出后它可以继续。我需要将命令的输出重定向到一个文件。
我需要的是这样的:
func main() {
command := exec.Command("/tmp/test.sh", ">", "/tmp/out")
if err := command.Start(); err != nil {
fmt.Fprintln(os.Stderr, "Command failed.", err)
os.Exit(1)
}
fmt.Println("Process ID:", command.Process.Pid)
}
显然这种重定向不起作用。由于我在启动长时间运行的命令后立即退出程序,因此无法打开文件并将其绑定到 Stdout。
有没有办法实现这样的重定向?
【问题讨论】: