首页 > 解决方案 > 子流程管道终端输入?

问题描述

我正在尝试编写一个帮助脚本来缩短我的一些项目命令。

脚本如下所示:

import subprocess

def up():
  subprocess.call(['docker-compose', 'up'])

if __name__ == '__main__':
  up()

这可行,但是如果我运行ctrl + c,它将杀死脚本而不是子进程。

有没有办法让subprocess所有终端输入的优先级直到它退出?

标签: pythonsubprocess

解决方案


我解决了这个问题:

def up():
  try:
    subprocess.call(['docker-compose', 'up'])
  except KeyboardInterrupt:
    print('\n')

它似乎完成了这项工作。


推荐阅读