我正在尝试在 Python 代码中运行 C 程序。
cmd = 'gnome-terminal --command=./myprog'
subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)
代码执行并且终端关闭。
我想在执行完成后保持终端打开,而不必在 C 文件中添加任何额外的代码,例如提示用户进行一些输入。
有办法解决这个问题吗?
答案1
要保持终端打开直到按下某个键:
gnome-terminal -- bash -c "ls && read"
保持终端打开直到exit
:
gnome-terminal -- bash -c "ls && bash"
替换ls
为您要执行的命令(您编译的可执行文件)。
笔记
如果--
不起作用,请尝试旧的(已弃用的)-x
方法:
gnome-terminal -x bash [...]
答案2
由于您使用 Python 启动它,请尝试以下操作:
import time
#Your Code here
time.sleep(5) # delay for 5 seconds
答案3
由于我在没有安装 Gnome 的 Mac 上,所以我不能 100% 确定,但这应该可行:添加; read
到要执行的命令中,因此执行命令后,您需要在关闭窗口之前按 Enter:
cmd = 'gnome-terminal --command="./myprog ; read"'
subprocess.Popen(command, stdout=subprocess.PIPE, shell=True)
我使用 xterm 而不是 gnome-terminal 进行了测试,它可以在那里运行。