我想在脚本中创建一个新进程,但如何在新终端中与子进程交互? 例如:
#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/