问题描述
我有一个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楼
我找不到我问的问题的解决方案。
但我通过自己替换input
函数来解决最初的问题。
__builtins__.input = myfunc