在 CentOS 中,nohup
命令用于在后台运行程序,即使关闭终端或断开连接,程序也会继续运行
使用 nohup
命令启动程序:
nohup your_command &
将 your_command
替换为您要运行的命令。&
符号将命令放入后台运行。
重定向输出:
默认情况下,nohup
会将程序的输出重定向到名为 nohup.out
的文件。如果您想将输出重定向到其他文件,可以使用以下命令:
nohup your_command > output_file &
将 output_file
替换为您希望将输出保存到的文件名。
忽略挂起信号:
nohup
命令会忽略挂起(SIGHUP)信号,这样即使关闭终端或断开连接,程序也会继续运行。如果您还想让程序忽略其他信号,可以使用 disown
命令:
nohup your_command > output_file &
disown -h %1
这里,%1
是作业编号,可以通过 jobs
命令查看。
使用 screen
或 tmux
:
另一种在 CentOS 中避免进程中断的方法是使用 screen
或 tmux
。这些工具允许您创建多个终端会话,并在需要时重新连接。这样,即使关闭终端或断开连接,程序也会在后台继续运行。
要使用 screen
或 tmux
,首先安装它们(如果尚未安装):
sudo yum install screen
或
sudo yum install tmux
然后启动新的会话:
screen
或
tmux
在新会话中运行您的命令,然后按 Ctrl-A
(对于 screen
)或 Ctrl-B
(对于 tmux
),接着按 D
以分离会话。这样,您可以随时通过重新连接会话来恢复程序运行:
screen -r
或
tmux attach