打开终端运行命令python
问题描述:
我想打开一个终端并在其中运行一个命令。我正在使用打开终端运行命令python
os.system("gnome-terminal -e 'bash -c \"exec bash; MY_COMMAND; exec bash\" '")
这会打开一个新终端,但该命令不会执行。
答
exec
命令替换当前正在运行的进程,因此如果您在要运行的命令列表中有一个可执行文件,只要运行exec,就不会运行任何其他命令。因此,您将用bash
代替'bash -c \"exec bash; MY_COMMAND; exec bash\" '
,然后在exec bash
正在运行后没有任何结果。试试这个:
os.system("gnome-terminal -e 'bash -c \"MY_COMMAND\" '")
,或者如果你需要一个终端保持开放,试试这个:
os.system("gnome-terminal -e 'bash -c \"MY_COMMAND; sleep 1000000\" '")
如果你想在终端保持开放,并在bash shell的
,试试这个:
os.system("gnome-terminal -e 'bash -c \"MY_COMMAND; bash\" '")
为什么你用'exec bash'围住你的命令? – zondo
你需要在终端上运行这个吗?那么子进程python模块呢? –
@zondo它使终端在执行后保持打开状态 – user3571631