nohup
(no hang up)命令用于在Linux和Unix系统中使进程忽略挂起(SIGHUP)信号
使用nohup
命令运行程序:
nohup your_command &
这将在后台运行your_command
,并将输出重定向到名为nohup.out
的文件。&
符号使程序在后台运行。
使用disown
命令:
如果你已经启动了一个程序,可以使用disown
命令将其从当前shell会话中分离,使其在关闭终端后继续运行。
disown %job_number
其中job_number
是你在启动程序时分配的作业编号。你可以通过jobs
命令查看当前shell会话中的作业列表。
使用screen
或tmux
工具:
screen
和tmux
是终端复用器,允许你在单个终端窗口中运行多个终端会话。这些工具在你需要断开连接或关闭终端时非常有用,因为它们允许你重新连接到一个已经运行的会话。
例如,使用screen
:
screen -S your_session_name
your_command
然后按Ctrl
+A
接着D
来分离会话。你可以随时通过以下命令重新连接:
screen -r your_session_name
使用tmux
的步骤类似:
tmux new-session -s your_session_name
your_command
按Ctrl
+B
接着D
来分离会话。重新连接的方法如下:
tmux attach-session -t your_session_name
通过以上方法,你可以避免在使用nohup
命令时遇到挂起的问题。