Hi Benjamin, you cannot pipe to echo, since it does not read from stdin.
echo just echos is first arg, i.e. echo /dev/stdin > /dev/null will echo the string "/dev/stdin"to /dev/stdout, which is redirected to /dev/null. Try p <- pipe("cat > /dev/null", open = "w") instead. Regards, Andreas 2019-12-06 02:46 GMT+01:00 Benjamin Tyner<bty...@gmail.com>: > Not sure if this is a bug, so posting here first. If I run: > cnt <- 0L > while (TRUE) { > cnt <- cnt + 1L > p <- pipe("echo /dev/stdin > /dev/null", open = "w") > writeLines("foobar", p) > tryCatch(close(p), error = function(e) { print(cnt); stop(e)}) > } > > then once cnt gets to around 650, it fails with: > > [1] 654 > Error in close.connection(p) : ignoring SIGPIPE signal > > Should I not be using pipe() in this way? Here is my sessionInfo() > > R version 3.6.0 (2019-04-26) > Platform: x86_64-pc-linux-gnu (64-bit) > Running under: Ubuntu 18.04.3 LTS > > Matrix products: default > BLAS: /home/btyner/R360/lib64/R/lib/libRblas.so > LAPACK: /home/btyner/R360/lib64/R/lib/libRlapack.so > > locale: > [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C > [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8 > [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 > [7] LC_PAPER=en_US.UTF-8 LC_NAME=C > [9] LC_ADDRESS=C LC_TELEPHONE=C > [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C > > attached base packages: > [1] stats graphics grDevices utils datasets methods base > > loaded via a namespace (and not attached): > [1] compiler_3.6.0 > > Regards, > Ben > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel