解决nohup中不写入日志的问题
日志 解决 写入 nohup 问题
2023-09-14 08:59:05 时间
(一)问题描述:
nohup 你的程序命令
如:
nohup python manage.py runserver 0.0.0.0:6789 (此shell窗口1不要关,另外开一个shell窗口2查看nohup.out)
可以将你的程序放到后台运行,不至于关闭shell窗口后,程序终止。
但是此时的nohup.out中却没有记录任何shell窗口的输出日志。
这是怎么回事呢???
(二)分析:
通过反复试验,我发现。
日志不是不往nohup.out文件中写,而是日志信息会被先存到Linux的缓存中去,等到缓存中的数据达到一定量后,才会写到nohup.out中去。
不信,你把nohup python manage.py runserver 0.0.0.0:6789 程序所在shell窗口1用ctrl+c来终止它,你回头再到shell窗口2中看看nohup.out,是不是有日志信息了。
ps:不要用kill杀程序,不然看不到从缓存中写入nohup.out中的日志信息。
那么,解决nohup.out中没有日志写入,或者写入不及时(实时)的方法就是,杜绝缓存机制。
(三)解决方案:
shell窗口1中:
export PYTHONUNBUFFERED=1 nohup python manage.py runserver 0.0.0.0:6789
ps:忽略如下错误提示:
nohup: ignoring input and appending output to ‘nohup.out’
shell窗口2中:
此时你再查看nohup.out,是不是有日志实时写入了!!!
参考:https://blog.csdn.net/epeaktop/article/details/82665481
ps:以上操作在centos7上进行的,其他版本不知道有没有差异,如有不同,请留言,如有用,请点赞推荐,多谢。
相关文章
- 使用windows服务和MSMQ和进行日志管理(解决高并发问题)
- Httpd运维日志:通过apxs添加模块
- 产品日志
- Oracle 附件日志的作用
- elk收集分析nginx access日志
- 根据nagios的日志分析用户的行为
- hbase源码系列(十)HLog与日志恢复
- Shell if语句实现mysqldump全量备份+mysqlbinlog二进制日志增量备份
- orbeon form 的日志处理
- Atiitt 日志技术的重大问题解决法 目录 1.1. 只想看某些日志,使用tag过滤法1 1.2. 能方便清晰的列出某一业务(如支付)的完整的处理流程 业务tag1 1.3. - NDC(N
- 通过openresty和嵌入式的lua脚本,来搭建高并发的日志采集服务器
- SpringBoot 配置log日志持久化
- 已解决selenium模块利用performance获取network日志请求报错(亲测有效)
- slf4j+logback日志框架 的具体使用操作【spring boot自带的默认日志框架】
- 【华为OD机试 2023最新 】 日志限流(C++)
- docker查看日志
- golang日志框架之logrus
- MySQL 中继日志