我有一个带有一些输入的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()
但没有成功。
答案 0 :(得分:0)
我没有找到所提问题的解决方案。但是我可以通过自己替换input
函数来解决最初的问题。
__builtins__.input = myfunc