使用nohup命令可以确保进程在SSH断开后继续运行
使用nohup命令启动进程:
nohup your_command &
其中,your_command是你要执行的命令。&符号将进程放入后台运行。
重定向输出到文件:
nohup your_command > output.log 2>&1 &
这里,我们将标准输出(stdout)和标准错误(stderr)都重定向到名为output.log的文件中。这样,即使SSH断开,你也可以在output.log文件中查看进程的输出。
使用disown命令:
当进程已经在运行时,你可以使用disown命令将其从当前shell会话中分离,使其在SSH断开后继续运行。
disown -h %job_number
其中,job_number是你在启动进程时分配给它的作业编号。你可以通过jobs命令查看当前shell会话中的作业列表及其编号。
使用screen或tmux工具:
screen和tmux是终端复用器,可以让你在一个终端窗口中运行多个终端会话。当你使用这些工具时,即使SSH断开,你也可以重新连接并恢复会话。
例如,使用screen:
screen(如果尚未安装):sudo apt-get install screen
screen会话:screen
screen会话中运行你的命令,然后按Ctrl-A接着D来分离会话。此时,进程将在后台继续运行。screen -r
对于tmux,过程类似:
tmux(如果尚未安装):sudo apt-get install tmux
tmux会话:tmux
tmux会话中运行你的命令,然后按Ctrl-B接着D来分离会话。此时,进程将在后台继续运行。tmux attach
通过以上方法之一,你可以确保在使用nohup命令时,进程在SSH断开后继续运行。