func RunCMD() {
cmd0 := exec.Command("tasklist")
stdout0 , err := cmd0.StdoutPipe()
if err != nil {
fmt.Println(err)
return
}
if err := cmd0.Start(); err != nil {
fmt.Println(err)
return
}
useBufferIO := false
if !useBufferIO {
var outputBuf0 bytes.Buffer
for {
tempoutput := make([]byte, 256)
n, err := stdout0.Read(tempoutput)
if err != nil {
if err == io.EOF {
break
} else {
fmt.Println(err)
return
}
}
if n > 0 {
outputBuf0.Write(tempoutput[:n])
}
}
fmt.Println(outputBuf0.String())
} else {
outputbuf0 := bufio.NewReader(stdout0)
touput0 , _ , err := outputbuf0.ReadLine()
if err != nil {
return
}
fmt.Println(string(touput0))
}
}
管道模式
func RunCMDPipe() {
cmd1 := exec.Command("tasklist")
var outputbuf1 bytes.Buffer
cmd1.Stdout = &outputbuf1
if err := cmd1.Start(); err != nil {
fmt.Println(err)
return
}
if err := cmd1.Wait(); err != nil {
fmt.Println(err)
return
}
fmt.Printf("%s", outputbuf1.Bytes())
}
内存的命名管道实现
func MEMPIPE() {
reader, writer := io.Pipe()
go func() {
output := make([]byte, 100)
n, err := reader.Read(output)
if err != nil {
println(err)
return
}
println("read", n)
}()
input := make([]byte, 26)
for i:=65; i<=90; i++ {
input[i - 65] = byte(i)
}
n, err := writer.Write(input)
if err != nil {
fmt.Println(err)
}
time.Sleep(time.Second * 3)
fmt.Println("Write", n)
}
系统的管道 实现原理就是读写文件
func SystempPIPE() {
reader, writer, err := os.Pipe()
if err != nil {
println(err)
return
}
go func() {
output := make([]byte, 100)
n, err := reader.Read(output)
if err != nil {
println(err)
return
}
println("read", n)
}()
input := make([]byte, 26)
for i:=65; i<=90; i++ {
input[i - 65] = byte(i)
}
n, err := writer.Write(input)
if err != nil {
fmt.Println(err)
}
time.Sleep(time.Second * 3)
fmt.Println("Write", n)
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!