python - 如何在不同的终端中 fork python 脚本

标签 python linux bash shell subprocess

我想在脚本中创建一个新进程,但如何在新终端中与子进程交互? 例如:

#python
a='a'
b='b'
if os.fork():
    print a
    a = input('a?')
    print 'a:',a
else:
    print b
    b = input('b?')
    print 'b:',b

脚本应该打印 a/b 并要求一个新值。但是这两个进程共享同一个终端,这让人很困惑。

如何打开一个新终端,让子进程在新终端运行?


我考虑过使用 subprocess.Popen('gnome-terminal',shell=True) 并与新终端通信。但是 gnome-terminal 会默认打开 bash,我怎样才能打开一个只用于输入和输出的终端?

最佳答案

从命令行应用程序打开一个新终端可能是不好的做法,但是 gnome-terminal 有一个 -e 标志。例如。 gnome-terminal -e python 将打开一个 python 解释器。

关于python - 如何在不同的终端中 fork python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39425940/

相关文章:

python - 在 Python 中创建二维坐标图

python - 执行 `from abc import xyz` 模块 `abc`去哪了?

linux - 在进程退出时自动清理 PF_UNIX 套接字?

python - Jupyter Notebook 无法打包 folium

python - 我得到 jwt.exceptions.DecodeError : Invalid header padding

linux - 如何查找不同组和用户拥有的所有服务/应用程序

linux - sed流编辑器unix linux命令: how to keep retain a paragraph with a particular text string

git 提交后 Hook 未执行

node.js - 如何通过 ssh 运行 npm

linux - "Couldn' t 在 Windows 上的 Ubuntu bash 上找到引用控制台的文件描述符