Linux nohup 命令详解
nohup
是 Linux/Unix 系统中一个非常实用的命令,用于在用户注销(logout)或终端关闭后仍然保持进程运行。下面我将全面介绍 nohup 的用法、原理及实际应用场景。
一、基本概念与作用
1.1 命令全称
nohup
= “no hang up”(不挂断)
1.2 核心功能
- 使进程忽略 SIGHUP 信号(终端断开时发送的信号)
- 让命令在后台持续运行,即使:
- 用户退出终端
- SSH 连接断开
- 网络中断
1.3 典型应用场景
- 长时间运行的脚本/程序(如数据备份、模型训练)
- 远程服务器上启动服务
- 需要持续运行的后台任务
二、基本语法格式
nohup 命令 [参数] [&]
2.1 标准形式
nohup command [arg1 arg2 ...] [> output_file 2>&1] [&]
2.2 关键组成部分
command
:要执行的命令或脚本>
:重定向标准输出2>&1
:将标准错误重定向到标准输出&
:将命令放入后台执行
三、常用使用方式
3.1 基础后台运行
nohup ./long_running_script.sh &
3.2 输出重定向到文件
nohup python train_model.py > training.log 2>&1 &