【发布时间】:2010-03-20 00:01:53
【问题描述】:
我想创建一个 exec.Cmd 数组并将它们通过管道连接在一起以创建一个 squid 身份验证器。它在 file 中的命令没有参数时起作用。带参数时,它只读取 EOF。我检查了 argv 数组,它的内容没问题。
代码的相关部分是:
func initCmd(file *os.File) []* exec.Cmd {
var cmd [MAX_PROC]* exec.Cmd;
var e os.Error
// Initialize the commands in the config file
environ := os.Environ();
var i int
for i=0; i < MAX_PROC; i++ {
line := getLine(file)
if line == "" { break }
parts := strings.Fields(line)
cmd[i], e = exec.Run(parts[0], parts[1:], environ,
exec.Pipe, exec.Pipe, exec.Pipe)
exitOnError(&e)
}
return cmd[0:i]
}
有什么想法吗? 谢谢。
PS:如果有帮助,完整的程序源代码在github。
【问题讨论】:
标签: go