一、nohup 命令简介
nohup 是 Linux 系统中一个非常实用的命令,全称为 “no hang up”。它的主要功能是让程序在用户退出终端后依然能够继续运行,同时将输出重定向到指定文件,确保任务不会因终端关闭而中断。
二、nohup 命令基本语法
nohup command [arg...] [&]
- command: 要执行的命令或程序
三、nohup 使用示例
- 基本用法
nohup python script.py &
此命令会在后台运行 script.py 脚本,并将输出默认保存到 nohup.out 文件中。
2. 自定义输出文件
nohup python script.py > output.log 2>&1 &
-
output.log: 将标准输出重定向到 output.log
- 2>&1: 将标准错误输出重定向到标准输出
- &: 将命令放入后台执行
3. 查看后台任务
jobs -l
4. 终止后台任务
kill [PID]
通过 jobs -l 获取任务 PID,然后使用 kill 命令终止任务。
四、注意事项
- 输出文件权限: 确保当前用户对输出文件有写权限。
- 磁盘空间: 长时间运行的命令可能产生大量输出,需监控磁盘空间。
- 程序依赖: 如果程序依赖终端输入,使用 nohup 可能导致程序异常。
五、总结
nohup 是 Linux 系统管理中不可或缺的工具,特别适用于需要长时间运行的任务。通过合理使用 nohup,可以确保任务在后台稳定执行,同时方便查看运行日志。掌握 nohup 的使用技巧,能够显著提高工作效率。