云计算百科
云计算领域专业知识百科平台

在服务器上运行 Python 程序并让它在【后台】持续运行

在服务器上运行 Python 程序并让它在后台持续运行, 即使关闭 SSH 连接,也不会终止

1. 创建一个新的 tmux 会话

tmux 是一个终端多路复用器:

tmux new -s my_session # 创建一个新的 tmux 会话

  • tmux new:创建一个新的 tmux 会话。

  • -s my_session:为会话命名为 my_session,方便之后恢复。

  • 你现在进入了一个新的 tmux 终端,就像打开了一个新的 SSH 终端一样。

2. 在 tmux 会话中运行 Python 程序

python data_process_tem.py

  • 这将在 tmux 内部运行你的 Python 代码。
  • 由于 tmux 会话是独立的,即使你关闭 SSH,程序仍然会运行。

3. 断开 tmux 会话

  • 按Ctrl + B
    • 进入 tmux 命令模式
  • 按D
    • (Detach):断开当前会话,Python 仍在后台运行
    • 此时你可以安全关闭 SSH 连接,程序仍然在服务器上运行

    4. 重新连接到 tmux 会话

    如果你重新登录服务器,并想恢复之前的会话:

    tmux attach -t my_session

    • tmux attach:重新连接到 tmux 会话。
    • -t my_session:指定连接的会话名称。
    • 你会看到 Python 代码仍然在运行!

    拓展

    查看所有 tmux 会话 列出所有正在运行的 tmux 会话:

    tmux ls

    关闭 tmux 会话 如果你想彻底关闭 tmux 会话:

    tmux kill-session -t my_session

    • tmux kill-session:关闭指定的 tmux 会话

    杀死所有 tmux 会话

    tmux kill-server

    • 这会杀死所有 tmux 会话,慎用!

    附:

    使用 tmux 恢复会话时,中间输出的内容会保留,不会丢失 原因 tmux 本质上是一个终端复用器,它在后台持续运行一个虚拟终端,即使 SSH 断开,终端的状态(包括滚动历史记录)仍然会被保存。因此,当你重新连接到 tmux 会话时,之前的输出内容仍然可见,不像 nohup 那样需要写入日志文件。

    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 在服务器上运行 Python 程序并让它在【后台】持续运行
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!