我尝试通过 apache-commons-exec 捕获 python 进程输出。但看起来它不会打印输出,只有在我的python进程完成后才会显示输出。
这是我的java代码
CommandLine cmd = CommandLine.parse("/Users/jzhang/anaconda/bin/python");
cmd.addArgument("/Users/jzhang/a.py");
DefaultExecutor executor = new DefaultExecutor();
ExecuteWatchdog watchDog = new ExecuteWatchdog(ExecuteWatchdog.INFINITE_TIMEOUT);
executor.setWatchdog(watchDog);
executor.execute(cmd);
这是我要执行的python代码(我只在python进程退出后才得到输出,但我想要的是实时得到输出)
for i in range(1,10):
print(i)
import time
time.sleep(10)