0
我想打開一個終端並在其中運行一個命令。我正在使用打開終端運行命令python
os.system("gnome-terminal -e 'bash -c \"exec bash; MY_COMMAND; exec bash\" '")
這會打開一個新終端,但該命令不會執行。
我想打開一個終端並在其中運行一個命令。我正在使用打開終端運行命令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