nohup
(no hang-up)命令用于在 Linux 系统中运行一个不受挂起(SIGHUP)信号影响的进程
使用 nohup
命令启动进程:
nohup your_command &
这将在后台运行 your_command
,并将输出重定向到名为 nohup.out
的文件。&
符号表示将进程放入后台运行。
使用 disown
命令将已运行的进程从当前 shell 会话中分离:
首先,找到要分离的进程的进程 ID(PID)。你可以使用 ps
或 pgrep
命令来查找 PID:
ps aux | grep your_command
或者
pgrep your_command
然后,使用 disown
命令将进程从当前 shell 会话中分离:
disown -h %PID
将 %PID
替换为实际的进程 ID。
使用 screen
或 tmux
等终端复用器:
这些工具允许你创建多个终端会话,并在需要时与它们断开和重新连接。这样,即使你关闭了终端窗口,进程也会继续运行。
例如,使用 screen
:
安装 screen
(如果尚未安装):
sudo apt-get install screen
启动新的 screen
会话:
screen -S your_session_name
在 screen
会话中运行你的命令,然后按 Ctrl-A
接着 D
将会话分离并返回到原始终端。
要重新连接到会话,请使用以下命令:
screen -r your_session_name
通过以上方法之一,你可以确保在使用 nohup
命令时,进程不会因挂起信号而被终止。