nohup
(no hang-up)命令用于在Linux中运行不受挂起信号影响的长时任务
- 基本语法:
nohup command-to-run &
其中,command-to-run
是您要执行的命令,&
符号将命令放入后台运行。
例如,如果您想要在后台运行一个名为 my_script.sh
的脚本,可以使用以下命令:
nohup ./my_script.sh &
- 输出重定向:
默认情况下,
nohup
会将命令的输出发送到名为nohup.out
的文件。如果您想将输出重定向到其他文件,可以使用以下语法:
nohup command-to-run > output-file 2>&1 &
这里,>
用于将标准输出重定向到指定文件,2>&1
表示将标准错误输出重定向到标准输出,&
将命令放入后台运行。
例如,如果您想将输出重定向到名为 output.log
的文件,可以使用以下命令:
nohup ./my_script.sh > output.log 2>&1 &
- 查看后台任务:
使用
jobs
命令可以查看当前终端会话中的后台任务。例如:
jobs
- 终止后台任务:
要终止后台任务,您需要知道任务的进程ID(PID)。可以使用
ps
命令结合grep
命令查找特定任务的PID。例如,如果您知道任务名称(如my_script.sh
),可以使用以下命令查找其PID:
ps aux | grep my_script.sh
找到PID后,使用 kill
命令终止任务:
kill PID
将 PID
替换为实际的进程ID。
总之,nohup
命令是管理Linux中长时间运行任务的有效工具。通过结合输出重定向和其他命令,您可以更好地控制任务的执行和输出。