执行 C 程序后如何保持终端打开?

执行 C 程序后如何保持终端打开?

我正在尝试在 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 进行了测试,它可以在那里运行。

相关内容