【发布时间】:2013-07-14 18:09:30
【问题描述】:
我正在尝试让 Python 通过 Popen() 发送 EOF 信号 (Ctrl+D)。不幸的是,我在 *nix 类系统上找不到任何关于 Popen() 信号的参考。这里有人知道如何发送这样的EOF 信号吗?另外,是否有任何可接受的信号参考?
【问题讨论】:
标签: python-2.7 posix popen eof
我正在尝试让 Python 通过 Popen() 发送 EOF 信号 (Ctrl+D)。不幸的是,我在 *nix 类系统上找不到任何关于 Popen() 信号的参考。这里有人知道如何发送这样的EOF 信号吗?另外,是否有任何可接受的信号参考?
【问题讨论】:
标签: python-2.7 posix popen eof
EOF 并不是你可以提出的真正信号,它是每个通道的异常情况。 (按 Ctrl+D 表示交互输入结束实际上是终端驱动程序的一个功能。当您在新行的开头按此组合键时,终端驱动程序告诉操作系统内核输入流上没有更多可用的输入。)
通常,在管道上发出EOF 信号的正确方法是关闭写入通道。假设您使用stdin=PIPE 创建了 Popen 对象,看起来您应该能够做到这一点。
【讨论】: