nohup(no hang-up)命令是 Linux 系统中用于在后台运行程序的命令,即使关闭终端或断开连接,程序也会继续运行
-
使用
nohup命令启动程序:nohup your_command &其中,
your_command是要执行的命令。&符号将命令放入后台运行。 -
将输出重定向到文件:
默认情况下,
nohup会将程序的输出发送到名为nohup.out的文件。你可以使用以下命令将输出重定向到其他文件:nohup your_command > output_file 2>&1 &这里,
output_file是你希望将输出保存的文件名。2>&1表示将标准错误(2)重定向到标准输出(1),&符号将命令放入后台运行。 -
使用
disown命令:如果你已经启动了一个程序,可以使用
disown命令将其从当前 shell 的作业列表中移除,以防止在关闭终端时收到挂起信号:disown %job_number其中,
job_number是作业编号,可以通过jobs命令查看。 -
使用
screen或tmux工具:screen和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,可以通过screen -ls或tmux ls命令查看。
-
通过以上方法,你可以使用 nohup 命令和其他工具来保证 Linux 任务的可靠性。