ubuntu

Ubuntu nohup如何避免SSH断开连接影响进程

小樊
93
2025-02-15 23:10:19
栏目: 智能运维

在 Ubuntu 系统中,使用 nohup 命令可以让进程在 SSH 断开连接后继续运行

  1. 使用 nohup 命令:

    在启动进程时,使用 nohup 命令。例如,如果你要运行名为 my_script.sh 的脚本,可以使用以下命令:

    nohup ./my_script.sh &
    

    这将在后台运行脚本,并将输出重定向到名为 nohup.out 的文件。

  2. 使用 screentmux

    screentmux 是终端复用器,允许你在单个终端窗口中运行多个会话。当 SSH 断开连接时,你可以重新连接并恢复会话。

    例如,使用 screen

    • 安装 screen(如果尚未安装):

      sudo apt-get install screen
      
    • 启动新的 screen 会话:

      screen -S mysession
      
    • 在新会话中运行你的进程,例如:

      ./my_script.sh
      
    • Ctrl-A 然后按 D 键,以便从当前会话分离并返回到常规终端。

    当你准备好重新连接会话时,可以使用以下命令:

    screen -r mysession
    

    如果有多个会话,你将看到一个会话列表,可以通过会话名称或 ID 来选择。

    对于 tmux,过程类似于 screen。首先安装 tmux,然后使用 tmux new-session 启动新会话,运行进程,最后使用 tmux attach-session 重新连接会话。

使用这些方法之一,你可以确保在 SSH 断开连接时,进程仍然在后台运行。

0
看了该问题的人还看了