python 开启子进程,父进程挂起问题


需要实现的功能:

  1. 程序通过命令行交互
  2. 输入关键字「bash」进入bash环境
  3. 在bash环境中执行多条命令,直到使用exit退出bash
  4. 回到原来交互界面

要求bash环境下执行多条命令,并在终端显示结果。不要求bash和原交互界面进行交互。

我的思路:

开一个子进程,父进程挂起等待子进程结束。

我做的操作:

1.subprocess.Popen('bash', shell=True, stdout=subprocess.PIPE)
执行完成后,子进程就消失了,返回父进程。这一般是父进程要执行某一系统命令并得到返回结果的做法。
2.使用os.fork(),目前还没看到效果

一句话:

我要在命令行程序里内置一个bash环境,如何实现?

仍旧在找方法,如果你有好的思路请一定要告诉我呀╭(╯3╰)╮

进程 python process bash

狂派六面兽 11 years, 1 month ago

subprocess.call("bash")

shybear answered 11 years, 1 month ago

Your Answer