在 Ubuntu 中,nohup 命令用于在后台运行程序,即使关闭终端或注销用户,程序也会继续运行
使用 nohup 命令:
在启动程序时,使用 nohup 命令。例如,要运行名为 my_script.sh 的脚本,可以使用以下命令:
nohup ./my_script.sh &
这将在后台运行脚本,并将输出重定向到名为 nohup.out 的文件。
使用 disown 命令:
如果程序已经在运行,可以使用 disown 命令将其从当前 shell 的作业表中移除。首先,使用 jobs 命令查看后台运行的作业:
jobs
然后,使用 disown 命令将作业从作业表中移除。例如,如果要移除作业编号为 1 的作业,可以使用以下命令:
disown %1
这将使作业在关闭终端或注销用户后继续运行。
使用 screen 或 tmux:
screen 和 tmux 是终端复用器,允许您在一个终端窗口中运行多个终端会话。这样,即使关闭终端或注销用户,程序也会在后台继续运行。
例如,要使用 screen,请按照以下步骤操作:
安装 screen(如果尚未安装):
sudo apt-get install screen
启动新的 screen 会话:
screen
在 screen 会话中运行程序,例如:
./my_script.sh
按 Ctrl + A,然后按 D 将 screen 会话分离并返回到常规终端。
要重新连接到 screen 会话,请使用以下命令:
screen -r
如果有多个 screen 会话,可以使用 screen -ls 列出它们,并使用 screen -r <session_id> 重新连接特定的会话。
tmux 的使用方法类似于 screen。首先安装 tmux,然后使用 tmux 命令启动新的会话。在会话中运行程序,然后按 Ctrl + B,接着按 D 将会话分离。要重新连接会话,请使用 tmux attach 命令。