在Linux中,nohup
(no hang-up)命令允许您在关闭终端或断开SSH连接后继续运行后台任务。以下是如何使用nohup
命令来管理后台任务的步骤:
启动后台任务:
nohup command &
command
是您要运行的命令。&
符号将命令放入后台运行。查看后台任务:
使用 jobs
命令可以查看当前终端会话中的后台任务。
jobs
将后台任务移到前台:
使用 fg
命令可以将后台任务移到前台。
fg %job_number
job_number
是通过 jobs
命令查看到的任务编号。终止后台任务:
使用 kill
命令可以终止后台任务。
kill job_number
或者使用进程ID(PID):
kill PID
nohup
的详细步骤启动后台任务并忽略挂起信号:
nohup command &
这会在当前目录下创建一个名为 nohup.out
的文件,用于记录命令的输出。如果不需要记录输出,可以将输出重定向到 /dev/null
:
nohup command > /dev/null 2>&1 &
查看后台任务:
jobs
将后台任务移到前台:
fg %job_number
终止后台任务:
kill job_number
或者使用进程ID(PID):
kill PID
假设您想运行一个长时间运行的脚本 long_running_script.sh
并将其放入后台:
nohup ./long_running_script.sh > /dev/null 2>&1 &
这将启动脚本并将其放入后台运行,同时忽略挂起信号,并将所有输出重定向到 /dev/null
。
nohup
命令会忽略挂起信号(SIGHUP),因此即使关闭终端或断开SSH连接,任务也会继续运行。&
符号将命令放入后台运行时,任务的标准输出和标准错误都会被重定向到 nohup.out
文件中。nohup
命令结合输出重定向符号(>
和 2>&1
)。通过这些步骤,您可以有效地使用 nohup
命令来管理后台任务。