xterm -e - 不要在命令后关闭xterm

时间:2015-10-26 11:28:49

标签: python bash extern

我在python中编写了scirpt,它使用system.os("cmd")执行bash命令。我不想在同一个终端上输出bash脚本,我有python脚本输出,所以我通过xterm -e执行bash命令。我的代码与此类似:

# python
import os
os.system("xterm -e 'ls'")

此代码有效,但在ls结束后,新终端消失。我想留下这个终端。

3 个答案:

答案 0 :(得分:1)

您可以让窗口保持不变,直到用户使用read按下某个键:

os.system("xterm -e 'ls; read'")

或者您只是运行xterm的新终端,该终端一直运行直至关闭:

os.system("xterm")

注1 os.system函数似乎阻止了python脚本,直到外部进程(本例中为xterm)结束。因此,您可以在循环中使用它,其中每个bash窗口必须在打开新窗口之前关闭。

注意2 :python文档建议使用subprocess.call

答案 1 :(得分:0)

以下内容应该有效。我在一个Mint linux盒子上试过它。

import os
os.system("xterm -hold -e 'ls' &")

答案 2 :(得分:0)

它很好,但是:

import os
os.system("xterm -hold -e 'my_cmd_1' &") 
os.system("xterm -hold -e 'my_cmd_2' &")

my_cmd_2无法在my_cmd_end_1

之前启动