如何在python中处理等待输入信号?

时间:2018-09-15 15:00:05

标签: java 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()

但没有成功。

1 个答案:

答案 0 :(得分:0)

我没有找到所提问题的解决方案。但是我可以通过自己替换input函数来解决最初的问题。

__builtins__.input = myfunc