首页 > 解决方案 > 如何在python中处理等待输入信号?

问题描述

我有一个有一些输入的python代码:

a = input("first input:")
b = input("second input:")

我从java运行它:

Process process = new ProcessBuilder("python3", scriptPath).start();

但从 python 运行也适合我。

当它等待输入并以某种方式处理它时,是否可以从 python 进程中捕获信号?例如,在第一个输入上我想写一些文本,process.getOutputStream()而在第二个输入上我想杀死进程。

我发现终端输入有SIGTTIN信号。我试图在python中做到这一点:

def interrupted(signum, frame):
    exit()

signal.signal(signal.SIGTTIN, interrupted)
a = input()

但它没有成功。

标签: javapython

解决方案


我没有找到我提出的问题的解决方案。但是我通过自己替换input 功能来解决最初的问题。

__builtins__.input = myfunc

推荐阅读