我编写了一个在Go中使用ForkExec的程序。command := "/bin/su -c '/bin/ls -lh / >/tmp/sC0X3kASz7' joe"pid, err := os.ForkExec(command, []string{}, os.Environ(), "", []*os.File{nil, cmd.Stdout, cmd.Stderr})如果您在Shell上执行该命令,您cat /tmp/sC0X3kASz7是否会看到列出的文件。但是,上面的ForkExec仅创建文件,并且在其中不写入任何内容。知道为什么会这样吗?走是根。编辑:command := "/bin/ls -lh / >/tmp/sC0X3kASz7"也不起作用,只是尝试。它甚至没有创建/ tmp文件。edit2:command := "/bin/bash /tmp/command.txt"我将上述命令放入该txt文件中,再次,从Shell执行,从ForkExec创建文件-不,:(edit3:解决方案在这里http://code.google.com/p/go/issues/detail?id=428
- 1 回答
- 0 关注
- 284 浏览
添加回答
举报
0/150
提交
取消