linux

如何在Linux中使用nohup命令避免SSH会话中断影响进程

小樊
41
2025-04-19 03:00:48
栏目: 智能运维

在Linux中,nohup(no hang-up)命令允许您在关闭SSH会话或断开连接后继续运行进程

  1. 使用nohup命令启动进程:

    要使用nohup命令启动进程,请在命令前加上nohup,并将输出重定向到一个文件。例如,如果您要运行名为my_script.sh的脚本,可以使用以下命令:

    nohup ./my_script.sh > output.log 2>&1 &
    

    这里,>将标准输出重定向到output.log文件,2>&1将标准错误重定向到标准输出,&将进程放入后台运行。

  2. 查看进程输出:

    进程的输出将被记录在output.log文件中。要查看输出,可以使用tail命令:

    tail -f output.log
    

    这将实时显示output.log文件中的内容。

  3. 关闭SSH会话:

    在启动进程后,您可以安全地关闭SSH会话。由于使用了nohup命令,进程将在后台继续运行,不受SSH会话中断的影响。

  4. 重新连接SSH会话:

    如果您需要重新连接到之前的SSH会话,可以使用screentmux等终端复用器。这些工具允许您在断开连接后重新连接,并恢复之前的会话。

    例如,使用screen

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

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

      screen
      
    • screen会话中运行您的进程,例如:

      ./my_script.sh
      
    • Ctrl-A,然后按Dscreen会话分离并返回到常规SSH会话。

    • 要重新连接screen会话,请运行:

      screen -r
      

通过使用nohup命令和终端复用器(如screentmux),您可以确保在关闭SSH会话或断开连接后,进程仍将继续运行。

0
看了该问题的人还看了