打开终端,运行 python 脚本并保持打开状态以获取结果?

问题描述 投票:0回答:2

如何获取用于启动新终端的 sh 脚本,执行 python 脚本并保持其运行? python 脚本应该在永久循环中连续运行,在弹出结果时吐出结果。每当尝试使用 gnome 终端的 sh 脚本时,都会得到:子进程正常退出,状态为 2

手动它只是:python home/ubuntu/pyscript.py

有人可以给出如何做到这一点的想法吗?

我有一个要运行的脚本列表,因此采用手动解决方案很乏味。

python linux sh gnome
2个回答
0
投票

要在您喜欢的终端的新实例中运行 Python 脚本,请编写:

x-terminal-emulator -e python -i home/ubuntu/pyscript.py

这将启动 Python 脚本并运行它直到结束,然后显示 Python 提示以阻止终端模拟器关闭。

这将与

x-terminal-emulator
一起使用,替换为我的计算机上安装的许多终端中的任何一个,因此只需稍加修改即可在安装了标准终端的所有 POSIX 兼容系统上工作。然而,这在 Mac 上不起作用。对于稍微不同的东西的正确跨平台Python实现,请参阅这里。大多数技术应该是可以转移的。


要在同一终端中运行 Python 脚本,同时继续执行 shell 脚本的其余部分,请编写:

python home/ubuntu/pyscript.py &

注意

&
,它将程序作为新进程运行(但仍将输出连接到虚拟终端)。


0
投票

您可以将

gnome-terminal
-x
标志一起使用。 假设你有一个
spam.py
脚本;那么以下命令将生成一个新终端,在其中运行
spam.py
,并在脚本结束后关闭终端。

gnome-terminal -x python spam.py

尝试使用这个脚本:

# spam.py
import time

for _ in range(5):
    print("eggs")
    time.sleep(1)

然后前面的命令将生成一个终端,该终端将打印

eggs
五次,然后关闭。

如果您想让终端保持打开状态,并且 Python 解释在脚本结束后仍在运行,那么 Python 的

-i
标志(doc,然后 CTRL+F ->
-i
)就是您想要的:

gnome-terminal -x python -i spam.py
© www.soinside.com 2019 - 2024. All rights reserved.