博客
关于我
20210204-深入理解nohup日志输出2_&1
阅读量:794 次
发布时间:2019-03-25

本文共 1023 字,大约阅读时间需要 3 分钟。

深入理解Nohup日志输出

在Linux系统操作中,Nohup命令是一个非常实用的工具,尤其是在长时间运行脚本或程序时。通过理解Nohup的工作原理和日志输出功能,开发者可以更高效地管理程序运行日志,避免因断机式中断带来的工作损失。本文将详细讲解Nohup日志输出的相关知识,并通过实例说明其实际应用场景。

Nohup启动日志输出

Nohup的全称是"no hang up",意为“无hang up”,它用于使程序继续运行,即使控制终端断开。与普通命令运行时的程序不同,Nohup允许程序在没有用户交互的情况下正常完成。例如,以下命令可以用来在后台运行一个Python脚本,并将标准输出和错误输出重定向到指定文件中:

nohup python3 produce_data_to_sqlite.py > run.log 2>&1

解释如下:- **Nohup**:表示不间断运行,即使控制终端被断开,此程序仍会继续运行。- **>run.log**:表示标准输出(标准输出)被重定向到run.log文件中。- **2>&1**:2表示标准错误(标准错误),>&表示标准错误被重定向到文件描述符1,默认为标准输出。因此,标准错误也被重定向到run.log文件中。- **1**:默认值,表示标准输出会被重定向到终端,但由于此时是追加操作,最终所有输出都会被写入run.log文件中。

标准错误示例

在编程中,有时候需要向程序输出错误信息。了解如何正确处理标准错误输出,可以帮助程序更好地报告异常情况。例如,在Java编程中,使用System.err.println来输出错误信息,如下所示:

System.err.println("error1");

参考文档

深入理解Linux shell中2>&1的含义可以从以下几个方面入手:1. **理解Linux标准输入/输出/错误(STDIN, STDOUT, STDERR)**:标准输入输出错误是将程序间通信的三个关键流。本文将重点讨论标准输出和错误输出。2. **掌握Nohup命令的使用场景**:Nohup在自动化脚本、长时间运行程序、防止进程因断机中断等场景中非常有用。3. **搭配Tee命令使用**:Nohup可以与Tee命令结合使用,实现将双向通信输出到同一文件中的功能。4. **理解日志管理基础**:熟悉如何将程序输出重定向到文件,如何管理程序日志,是系统管理员和开发人员的基础技能。

转载地址:http://izuyk.baihongyu.com/

你可能感兴趣的文章
mysql 权限登录问题:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)
查看>>
MYSQL 查看最大连接数和修改最大连接数
查看>>
MySQL 查看有哪些表
查看>>
mysql 查看锁_阿里/美团/字节面试官必问的Mysql锁机制,你真的明白吗
查看>>
MySql 查询以逗号分隔的字符串的方法(正则)
查看>>
MySQL 查询优化:提速查询效率的13大秘籍(避免使用SELECT 、分页查询的优化、合理使用连接、子查询的优化)(上)
查看>>
mysql 查询数据库所有表的字段信息
查看>>
【Java基础】什么是面向对象?
查看>>
mysql 查询,正数降序排序,负数升序排序
查看>>
MySQL 树形结构 根据指定节点 获取其下属的所有子节点(包含路径上的枝干节点和叶子节点)...
查看>>
mysql 死锁 Deadlock found when trying to get lock; try restarting transaction
查看>>
mysql 死锁(先delete 后insert)日志分析
查看>>
MySQL 死锁了,怎么办?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>
MySQL 添加索引,删除索引及其用法
查看>>
mysql 状态检查,备份,修复
查看>>
MySQL 用 limit 为什么会影响性能?
查看>>