python3子进程终端问题

时间:2019-04-11 16:01:51

标签: python-3.x terminal

我知道可能有更好的方法来执行此操作,但是我试图了解使用subprocess命令时发生了什么。

我通过ssh在linux机器上,并在下面运行以下代码,这是一个长期运行的过程:

p = run_process(cli)
 with p.stdout:
  for line in iter(p.stdout.readline, b''):
   # decode and format to read
   decoded = line.decode("utf-8")

有时候,当我按下ctrl c突破python脚本时,我的终端搞砸了。单击enter时,外壳不再换行,而是将外壳的下一行粘贴在同一行上。我再也看不到以前的命令了。还有其他问题,但我认为您会开玩笑。要解决此问题,我可以运行reset并确实对其进行修复,但是我试图找出导致这种情况的原因以及是否有办法使这种情况不发生。

我要添加的是这段代码正在捕获KeyboardInterrupt

except KeyboardInterrupt:
        log.info('Interrupted by Keyboard')
        sys.exit(0)

0 个答案:

没有答案