nohup
(no hang up)命令可以在 CentOS 上使进程在用户退出登录后继续运行
使用 nohup
命令启动进程:
在启动进程时,使用 nohup
命令,并将输出重定向到一个文件(例如 output.log)。例如:
nohup your_command > output.log 2>&1 &
这里,your_command
是你要运行的命令。>
将标准输出重定向到 output.log 文件,2>&1
将标准错误重定向到标准输出,&
将进程放入后台运行。
使用 disown
命令:
如果进程已经在运行,你可以使用 disown
命令将其从当前 shell 的作业列表中移除。这样,即使你关闭终端或注销,进程也会继续运行。首先,使用 jobs
命令查看进程的作业编号,然后使用 disown
命令将其移除:
jobs
disown %job_number
将 job_number
替换为实际的作业编号。
使用 screen
或 tmux
工具:
screen
和 tmux
是终端复用器,可以让你在一个终端窗口中运行多个终端会话。这样,即使你关闭终端或注销,进程也会在你重新登录后继续运行。要使用这些工具,请按照以下步骤操作:
安装 screen
或 tmux
(如果尚未安装):
sudo yum install screen
或
sudo yum install tmux
启动 screen
或 tmux
会话:
screen
或
tmux
在新的会话中运行你的命令,然后按 Ctrl-A
(对于 screen
)或 Ctrl-B
(对于 tmux
),接着按 D
将会话分离并返回到原始终端。
当你需要重新连接到会话时,使用以下命令:
对于 screen
:
screen -r session_id
对于 tmux
:
tmux attach -t session_id
将 session_id
替换为实际的会话 ID。
通过以上方法,你可以确保在 CentOS 上使用 nohup
命令启动的进程在关闭终端或注销后继续运行。