草庐IT

broken-pipe

全部标签

logging - os.Pipe 无法按预期使用日志包

我有一段代码设置了一个os.Pipe来捕获Stdout/Stderr:https://github.com/sevagh/stdcap/blob/master/stdcap.go//Captureexecutesf()andreturnsthecaptureddatafunc(s*stdcap)Capture(ffunc())string{s.mu.Lock()defers.mu.Unlock()varold,r,w*os.Fileifs.out{old=os.Stdoutr,w,_=os.Pipe()os.Stdout=w}else{old=os.Stderrr,w,_=os.Pip

go - Go io.Pipe 的缓冲版本

是否有io.Pipe的缓冲版本?(在标准库或第三方库中)在我自己推出之前?上下文:我正在尝试使用thissolution解析bzip2压缩的json数据,解压和解析是并行的,但是发现提速很小。解析未压缩的数据每百万条记录大约需要22秒。解压缩这么多数据大约需要相同的时间。正如预期的那样,在单个线程上执行这些操作大约需要44秒。使用上述解决方案大约需要41秒。io.Pipe的文档说:ReadsandWritesonthepipearematchedonetooneexceptwhenmultipleReadsareneededtoconsumeasingleWrite.Thatis,ea

go - 为什么即使达到 EOF io.Pipe() 也会继续阻塞?

在使用子进程并通过管道读取标准输出时,我注意到了一些有趣的行为。如果我使用io.Pipe()读取通过os/exec创建的子进程的标准输出,即使达到EOF,从该管道读取也会永远挂起(流程结束):cmd:=exec.Command("/bin/echo","Hello,world!")r,w:=io.Pipe()cmd.Stdout=wcmd.Start()io.Copy(os.Stdout,r)//Prints"Hello,World!"butneverreturns但是,如果我使用内置方法StdoutPipe()它会起作用:cmd:=exec.Command("/bin/echo","

http - 为什么当响应超过 8kb 时 golang http 服务器失败并显示 "broken pipe"?

我在下面有一个示例Web服务器,如果您调用curllocalhost:3000-v然后^C(取消)立即(在1秒之前),它将报告writetcp127.0.0.1:3000->127.0.0.1:XXXXX:write:brokenpipe.packagemainimport("fmt""net/http""time")funcmain(){log.Fatal(http.ListenAndServe(":3000",http.HandlerFunc(func(whttp.ResponseWriter,r*http.Request){time.Sleep(1*time.Second)//W

git - 警告 : ignoring broken ref refs/remotes/origin/HEAD

从几天前开始,每次我在bash中按tab键来完成分支名称时,我都会看到消息:warning:ignoringbrokenrefrefs/remotes/origin/HEADwarning:ignoringbrokenrefrefs/remotes/origin/HEAD例如,当我有一个名为feature/foo的分支并按下tab时,这是我看到的:gitcheckoutf$gitcheckoutfwarning:ignoringbrokenrefrefs/remotes/origin/HEADwarning:ignoringbrokenrefrefs/remotes/origin/HE

linux - CURL 进度条 : How to pipe and extract numbers only using grep?

这是我目前所拥有的:[my1@grafhome]$curl-#-of1.flv'http://osr.com/f1.flv'|grep-o'*[0-9]*'#######################################################################100.0%我希望使用grep并仅从CURL输出的进度条中提取百分比。我认为我的正则表达式不正确,我也不确定这个grep是否会影响持续更新的百分比?我想做的基本上是让CURL只给我百分比数字作为输出,没有别的。感谢您的帮助。 最佳答案 使用

linux - awk、pipe 和 tail -f 给出意外行为

这个问题在这里已经有了答案:Pipingtailoutputthoughgreptwice(2个答案)关闭3年前。这是我的示例日志文件。http://pastebin.com/DwWeFhJk.当我在做的时候tail-flog|awk'{if(NF>3){print$1};}'我得到的结果是正确的64.242.88.1064.242.88.1064.242.88.1064.242.88.1064.242.88.1064.242.88.1064.242.88.1064.242.88.1064.242.88.1064.242.88.10但是当我在做的时候:tail-flog|awk'{if

linux - EC2 ssh broken pipe 终止正在运行的进程

我正在使用EC2实例运行大型作业,我估计需要大约24小时才能完成。我遇到了此处描述的相同问题sshbrokenpipeec2我遵循了上面帖子中的建议/解决方案,在我的sshsessionshell中,我通过以下命令启动了我的python程序:nohuppythonmyapplication.py>myprogram.out2>myprogram.err一旦我这样做了,连接保持完整的时间比我不使用nohup的时间长,但它最终因brokenpipeerror而失败,我又回到了原点一。进程“pythonmyapplication.py”因此终止。关于正在发生的事情以及我可以做些什么来防止这种

linux - 大查询 : Does bq load command support loading from named pipe as a source?

我正在尝试使用命名管道中的bqload将数据加载到Googlebigquery。控制台窗口1:$mkfifo/usr/pipe1$cat/dev1/item.dat>/usr/pipe1控制台窗口2:$bqload--source_format=CSVprojectid:dataset.itemtbl/usr/pipe1field1:integer,field2:integer出现以下错误:BigQueryerrorinloadoperation:Sourcepathisnotafile:/usr/pipe1 最佳答案 BigQue

使用 pipe() 和 fork() 复制文件内容

已经有人问过类似的问题,但他们的解决方案对我帮助不大ProgramthatreadfileandsendittoparentprocesswithpipeRead/writingonapipe,accomplishingfilecopyinginC我正在尝试从文件test.txt中读取(其中包含一行文本),将其写入管道,子进程将从管道中读取并写入内容到另一个文件。/*Readthecontentsofafileanddisplayitusingpipe*/#include#include#include#include#includevoidmain(){charbuffer[100]