温馨提示×

如何使用nohup在CentOS中避免SSH断开连接

小樊
53
2025-06-18 13:54:21
栏目: 智能运维

在 CentOS 中,当你通过 SSH 连接到服务器并运行一个命令时,如果 SSH 连接断开,该命令通常会被终止。为了避免这种情况,你可以使用 nohup 命令来使进程忽略挂起(SIGHUP)信号,从而在 SSH 断开后继续运行。

以下是如何使用 nohup 的步骤:

  1. 使用 nohup 运行命令: 在终端中输入以下命令来运行你的程序,并将其输出重定向到一个文件(例如 output.log):

    nohup your_command > output.log 2>&1 & 

    解释:

    • nohup:使进程忽略挂起信号。
    • your_command:你想要运行的命令。
    • > output.log:将标准输出重定向到 output.log 文件。
    • 2>&1:将标准错误输出重定向到标准输出,这样错误信息也会被写入 output.log
    • &:将命令放入后台运行。
  2. 查看输出: 你可以随时查看 output.log 文件来检查命令的输出:

    tail -f output.log 
  3. 查找进程: 如果你想查找由 nohup 启动的进程的 PID(进程 ID),可以使用以下命令:

    ps aux | grep your_command 

    这将显示所有包含 your_command 的进程,你可以从中找到对应的 PID。

  4. 终止进程: 如果你需要终止由 nohup 启动的进程,可以使用 kill 命令:

    kill -9 PID 

    其中 PID 是你找到的进程 ID。

通过这些步骤,你可以在 SSH 断开连接后继续运行命令,并且可以随时查看和管理这些进程。

0