nohup — 不受挂断影响的进程

nohup 让命令在退出终端后继续运行。

命令说明

nohup 启动的命令会忽略 SIGHUP 信号。当终端关闭或 SSH 断开时,进程不会被终止。输出默认重定向到 nohup.out 文件。

应用场景

  • 在远程服务器运行长时间任务
  • 启动后台服务
  • 在断开 SSH 后保持程序运行
  • 运行批处理任务

常用示例

示例 1:基本使用

bash
复制代码
nohup python3 long_task.py &

示例 2:指定输出文件

bash
复制代码
nohup java -jar app.jar > app.log 2>&1 &

示例 3:查看 nohup 进程

bash
复制代码
ps aux | grep long_task

示例 4:使用 nohup 运行脚本

bash
复制代码
nohup ./backup.sh > backup_$(date +%Y%m%d).log 2>&1 &