打开终端运行命令python

发布于 2021-01-29 15:05:42

我试图打开一个终端并在其中运行命令。我在用

os.system("gnome-terminal -e 'bash -c \"exec bash; MY_COMMAND; exec bash\" '")

这将打开一个新的终端,但是命令不会执行。

关注者
0
被浏览
93
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    exec命令将新运行的进程替换为新进程,因此,如果要在要运行的命令列表中有一个exec,则在exec运行后,其他任何命令都将不会运行。因此,您要替换'bash -c \"exec bash; MY_COMMAND; exec bash\" '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\" '")
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看