标签: pipe

管道stdout和stderr到shell脚本中的两个不同进程?

我做了一个pipline

 command1 | command2
Run Code Online (Sandbox Code Playgroud)

因此,command1的stdout进入command2,而command1的stderr进入终端(或shell的stdout所在的地方).

command3当stdout仍然要命令2时,如何将command1的stderr传递给第三个进程()?

bash shell pipe io-redirection

54
推荐指数
4
解决办法
1万
查看次数

如何使用subprocess.Popen通过管道连接多个进程?

如何使用Python subprocess模块执行以下shell命令?

echo "input data" | awk -f script.awk | sort > outfile.txt
Run Code Online (Sandbox Code Playgroud)

输入数据将来自一个字符串,所以我实际上并不需要echo.我已经走到这一步了,任何人都可以解释我是如何通过它来解决的sort吗?

p_awk = subprocess.Popen(["awk","-f","script.awk"],
                          stdin=subprocess.PIPE,
                          stdout=file("outfile.txt", "w"))
p_awk.communicate( "input data" )
Run Code Online (Sandbox Code Playgroud)

更新:请注意,虽然下面接受的答案实际上没有回答问题,但我相信S.Lott是对的,最好避免首先解决这个问题!

python subprocess pipe

52
推荐指数
4
解决办法
5万
查看次数

Vim:将选定的文本传递给shell cmd并在vim info /命令行上接收输出

我想将所选文本传递给shell命令,并在vim info /命令行上从此shell命令接收单行输出?

我真正想做的事情:将所选文本传递给pastebin-type shell命令,我想接收shell cmd的输出(它是pastebin的http链接).这可能吗?

vim shell command-line pipe

52
推荐指数
4
解决办法
3万
查看次数

如何在bash中使python脚本"可管理"?

我写了一个脚本,我希望它可以在bash中管道化.就像是:

echo "1stArg" | myscript.py
Run Code Online (Sandbox Code Playgroud)

可能吗?怎么样?

python pipe

52
推荐指数
4
解决办法
3万
查看次数

如何获取在Bash中通过管道传输给另一个进程的进程的PID?

我试图在Bash中实现一个简单的日志服务器.它应该将文件作为参数并在具有netcat的端口上提供.

( tail -f $1 & ) | nc -l -p 9977
Run Code Online (Sandbox Code Playgroud)

但问题是当netcat终止时,尾巴会被遗忘.(澄清:如果我不分叉尾程,它将继续运行,即使netcat终止.)

如果我以某种方式知道尾巴的PID然后我可以杀死它.
显然,使用$!将返回netcat的PID.

如何获得尾部过程的PID?

bash pid pipe

51
推荐指数
5
解决办法
3万
查看次数

在Linux Bash中使用命名管道的示例

有人可以在Linux中发布一个在Bash中使用命名管道的简单示例吗?

linux bash pipe

51
推荐指数
4
解决办法
8万
查看次数

Python中的进程间通信

在两个不同的python进程之间进行进程间通信的干净而优雅的方法是什么?我目前在操作系统中使用命名管道,但感觉有点hacky.我用dbus服务重写了我的东西,但是看起来当通过SSH会话远程运行代码时,它现在尝试初始化X11,这对于我想要做的事情来说似乎完全没有必要(它们与GUI无关).所以也许dbus有点太重量了.我正准备再次使用套接字重新设计,但它看起来很低级,所以我认为可能有一个更高级别的模块我可以导入和使用,我根本就不知道它的名字,我想我应该问SO第一..

我的要求是能够运行python foo.py并让这个过程就像守护进程那样做,并能够发送消息给它python foo.py --bar.后一个调用应该只是向现有进程发送一个消息并终止,可能带有0成功的返回代码或其他失败的代码(因此需要进行一些双向通信).

python sockets ipc pipe

51
推荐指数
5
解决办法
5万
查看次数

如何全局声明管道以在不同的模块中使用?

现在我有一个名为的自定义管道 CurrConvertPipe

import {Pipe, PipeTransform} from '@angular/core';
import {LocalStorageService} from './local-storage';
@Pipe({name: 'currConvert', pure: false})
export class CurrConvertPipe implements PipeTransform {
  constructor(private currencyStorage: LocalStorageService) {}

  transform(value: number): number {
     let inputRate = this.currencyStorage.getCurrencyRate('EUR');
    let outputputRate = this.currencyStorage.getCurrencyRate(localStorage.getItem('currency'));
    return value / inputRate * outputputRate;
  }
}
Run Code Online (Sandbox Code Playgroud)

我需要在两个不同的模块中使用它,

import './rxjs-extensions';
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { …
Run Code Online (Sandbox Code Playgroud)

pipe typescript angular

51
推荐指数
4
解决办法
4万
查看次数

如何避免echo关闭FIFO命名管道? - Unix FIFO的搞笑行为

我想将一些数据输出到管道,并让另一个进程逐行对数据执行某些操作.这是一个玩具示例:

mkfifo pipe
cat pipe&
cat >pipe
Run Code Online (Sandbox Code Playgroud)

现在我可以输入我想要的任何内容,按下回车后我立即看到同一行.但如果替换第二管道echo:

mkfifo pipe
cat pipe&
echo "some data" >pipe
Run Code Online (Sandbox Code Playgroud)

管道在完成之后关闭echo,cat pipe&因此我无法通过管道传递更多数据.有没有办法避免关闭管道和接收数据的进程,以便我可以从bash脚本通过管道传递多行数据,并在它们到达时处理它们?

unix bash pipe echo

50
推荐指数
3
解决办法
3万
查看次数

什么是管道/管道试图解决

我见过人们为各种懒惰的IO相关任务推荐管道/管道库.这些库到底解决了什么问题?

此外,当我尝试使用一些与hackage相关的库时,很可能有三个不同的版本.例:

这让我很困惑.对于我的解析任务,我应该使用attoparsec或pipes-attoparsec/attoparsec-conduit?与普通香草attoparsec相比,管道/导管版本给我带来了什么好处?

haskell pipe conduit haskell-pipes

49
推荐指数
3
解决办法
5859
查看次数