exec.Command管道实现循环输入

hipeace86 · · 3935 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

目前有一个程序需要启用另外一个code.exe程序来做转码处理 此程序运行后是一个死循环的,就等待输入按回车后就返回相应的解码数据 现在用exec.Command启动程序后就只能使用管道输入一次,代码如下 ``` cmd := exec.Command("./code.exe") var pipIn,pipOut bytes.Buffer cmd.Stdin = &pipIn cmd.Stdout = &pipOut cmd.Run() pipIn.WriteString(fmt.Sprintf("%s\n", "35063812556aa2cdd6d1cbd")) time.Sleep(time.Millisecond * 500) fmt.Println(strings.Replace(pipOut.String(), "\n", "", 1)) pipIn.WriteString(fmt.Sprintf("%s\n", "350632125e6aa2cdded1c")) time.Sleep(time.Millisecond * 500) fmt.Println(strings.Replace(pipOut.String(), "\n", "", 1)) ``` 并不能得到第二次输入的数据解码后的结果 可有其它方法实现长时运行code.exe程序,可以循环输入并得到输出结果的方法? 类似于python的spawn 新手对标准库还不熟悉,还请各大神指教!

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3935 次点击  
加入收藏 微博
4 回复  |  直到 2016-10-26 11:57:39
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传