尝试使用Python通过Popen()发送EOF信号(Ctrl + D)信号

时间:2013-07-16 14:00:21

标签: python-2.7 posix popen eof

我正在尝试让Python通过EOF发送Popen()信号( Ctrl + D )。不幸的是,我找不到类似* nix系统上Popen()信号的任何参考。这里有人知道如何发送这样的EOF信号吗?此外,是否有任何可接受信号的参考?

1 个答案:

答案 0 :(得分:4)

EOF并不是一个你可以提出的信号,它是一个每通道特殊情况。 (按 Ctrl + D 表示交互式输入的结束实际上是终端驱动程序的功能。当您在新行的开头按此键组合时,终端驱动程序告诉操作系统内核输入流上没有可用的输入。)

通常,在管道上发出EOF信号的正确方法是关闭写通道。假设您使用stdin=PIPE创建了Popen对象,看起来您应该可以这样做。