2024-04-19 17:22:07 发布
网友
我用python编写了scirpt,它使用system.os("cmd")执行bash命令。我不希望bash脚本的输出和python脚本的输出在同一个终端上,所以我通过xterm -e执行bash命令。我的代码与此类似:
system.os("cmd")
xterm -e
# python import os os.system("xterm -e 'ls'")
此代码正常工作,但在ls结束后,新的终端将消失。我想呆在这个航站楼。在
ls
下面的方法应该行得通。我在Mint linux机器上试过了。在
import os os.system("xterm -hold -e 'ls' &")
很好,但是:
import os os.system("xterm -hold -e 'my_cmd_1' &") os.system("xterm -hold -e 'my_cmd_2' &")
我的命令2不能在我的命令结束之前开始
在用户按^{}键之前,您可以让窗口保持不变:
os.system("xterm -e 'ls; read'")
或者您只需运行xterm的新终端,该终端将一直运行到关闭:
xterm
注意1:在外部进程(本例中为xterm)完成之前,^{}函数似乎会阻止python脚本。因此,您可以在一个循环中使用它,其中每个bash窗口都必须在打开新窗口之前关闭。在
注意2:python文档建议使用^{}
下面的方法应该行得通。我在Mint linux机器上试过了。在
很好,但是:
我的命令2不能在我的命令结束之前开始
在用户按^{} 键之前,您可以让窗口保持不变:
或者您只需运行
^{pr2}$xterm
的新终端,该终端将一直运行到关闭:注意1:在外部进程(本例中为xterm)完成之前,^{} 函数似乎会阻止python脚本。因此,您可以在一个循环中使用它,其中每个bash窗口都必须在打开新窗口之前关闭。在
注意2:python文档建议使用^{}
相关问题 更多 >
编程相关推荐