我写了一个有多个线程的脚本,在这个帖子中我使用“print()”代码来打印关于该线程的日志活动,但问题是我不想在一个终端窗口打印所有这些日志。我在ubuntu论坛上发现了这个代码,但它似乎不是一个标准的方式,可以在任何操作系统上运行,包括mac,ubuntu,fedora,... 有没有标准的方法可以在多个终端窗口中输出数据或者比这个代码更好的ida?
import subprocess
pid = subprocess.Popen(args=["gnome-terminal", "--command=python test.py"]).pid
print pid
答案 0 :(得分:0)
很难理解你的问题是什么意思,但以下内容可能有所帮助。在OSX上启动一个终端并按下Command-N以获得第二个 - 所以你打开了2个终端。现在单击其中任何一个并键入:
tty
它将告诉您与该窗口关联的终端的名称,例如/dev/ttys000
。
然后进入另一个打开的终端窗口并输入:
echo Hello > /dev/ttys000 # or whatever the other Terminal was called
您应该看到echo
命令的输出显示在另一个终端的窗口中,我认为这就是您对问题的意思。
答案 1 :(得分:0)
screen
来管理多个shell会话。
例如,创建一个新的屏幕会话并在其中执行ifconfig
:
#create a unique name for the screen session (timestamp + random muber)
timestamp_random=my_$(date +%s)_$RANDOM
#create new screen session in detached mode
screen -S "$timestamp_random" -d -m
#stuff (write) command into that screen session + execute (by hitting newline/ENTER)
screen -r "$timestamp_random" -X stuff $'ifconfig\n'
然后,您可以列出所有屏幕会话:
screen -list
并连接到每个会话以查看输出:
screen -R [sessionname]