nohup
(no hang-up)命令允许您在Linux中运行长时间任务,即使关闭终端或断开SSH连接,任务也会继续执行
-
打开终端。
-
使用
cd
命令导航到包含要运行的脚本或命令的目录。 -
使用以下命令格式运行长时间任务:
nohup command-to-run &
其中,command-to-run
是您要执行的命令或脚本。&
符号将命令放入后台运行,这样您可以在不阻塞终端的情况下继续使用它。
例如,如果您要运行名为my_script.sh
的脚本,可以使用以下命令:
nohup ./my_script.sh &
- 运行命令后,您会看到类似以下的输出:
nohup: ignoring input and appending output to 'nohup.out'
这意味着命令的输出已附加到名为nohup.out
的文件中。您可以随时使用tail
命令查看输出:
tail -f nohup.out
- 如果您想要限制输出文件的大小,可以使用
split
命令将输出分割成多个较小的文件。例如,要将输出文件限制为1MB,可以使用以下命令:
nohup command-to-run | split -b 1M - output_file_prefix_
这将创建一系列名为output_file_prefix_aa
、output_file_prefix_ab
等的文件,每个文件的大小约为1MB。
- 当任务完成时,可以使用
ps
命令查找相关的进程ID(PID),然后使用kill
命令结束进程(如果需要):
ps aux | grep command-to-run kill [PID]
将[PID]
替换为您在上一步中找到的进程ID。
总之,使用nohup
命令可以让您在Linux中运行长时间任务,即使关闭终端或断开SSH连接,任务也会继续执行。