`
houzhaowei
  • 浏览: 499280 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

后台运行python程序 遇到缓冲区问题

阅读更多

环境:linux

 

一段执行时间很长的程序(用python做hive客户端执行mapreduce) 在linux后台执行,把结果输出到某文件:

 

 

python xxx.py > log.log& 

 

 遇到的问题,程序没报错,文件里却什么都没有,没有输入进去。为什么呢?

于是我首先尝试用:

 

 

nohup python xxx.py > log.log &

 

预料之中 还是不行。

 

于是我做实验:

 

写了个test.py:

 

import sys,time
from threading import Thread
class worker(Thread):
     def run(self):
         for x in xrange(0,111):
             print x
             time.sleep(1)
def run():
     worker().start()
if __name__ == '__main__':
    run()

 每秒打印一次

我直接用python text.py 执行  没问题  每秒输出一个数

但我在后台执行:

 

python test.py > log.log& 

 

还是不行。开始不输出  直到程序执行完,一次性的写到log.log文件了。

为什么呢? 

原因可能是python 的print 先写到缓冲区了,还没flush到文件。

于是加了一行“ sys.stdout.flush() ” --在每次print后都flush一次。:

 

import sys,time
from threading import Thread
class worker(Thread):
     def run(self):
         for x in xrange(0,111):
             print x
             sys.stdout.flush()  
             time.sleep(1)
def run():
     worker().start()
if __name__ == '__main__':
    run()
 

问题解决。

分享到:
评论

相关推荐

    Ubuntu下后台持续运行Python程序

    在Ubuntu系统中,后台持续运行Python程序是许多开发者和系统管理员需要掌握的重要技能。这尤其适用于需要长时间运行的任务,如数据分析、服务器监控或自动化任务。本文将深入探讨如何在Ubuntu环境下实现这一目标,并...

    Python运行不显示DOS窗口的解决方法

    然而,在编写或运行Python脚本时,可能会遇到一些问题。比如,当我们运行Python程序时,通常会弹出一个DOS窗口。但在某些情况下,我们可能不希望显示这个DOS窗口,而只希望程序在后台静默执行。本文将介绍两种方法来...

    Apache运行python程序的必须组件

    当遇到问题时,mod_wsgi提供了丰富的日志记录功能,可以帮助开发者调试应用程序和服务器配置。可以通过设置日志级别、错误日志位置等参数来调整日志输出。 **安全性和性能优化** 运行Python程序时,需要考虑安全性...

    python后台windows窗口自动截图

    Python 后台Windows窗口自动截图是一项实用的技术,它允许开发者编写程序在计算机后台无用户交互的情况下捕获指定窗口的图像。这项技术在多种场景下都可能有用,例如监控特定应用程序的状态,或者像在这个例子中,...

    python安装包 ,运行python程序

    在这个“python安装包,运行python程序”的主题中,我们将深入探讨如何安装Python以及如何执行Python程序。 首先,我们来看压缩包中的"python-3.10.2-amd64安装包.exe"文件。这是针对AMD64架构(也称为x64或64位)...

    在交互式环境中执行Python程序过程详解

    相信接触过Python的伙伴们都知道运行Python脚本程序的方式有多种,目前主要的方式有:交互式环境运行、命令行窗口运行、开发工具上运行等,其中在不同的操作平台上还互不相同。今天,小编讲些Python基础的内容,以...

    Python程序设计(第二版)

    书中会教授如何读写文件,处理文本和二进制数据,以及如何进行错误处理,确保程序在遇到问题时能优雅地处理。 Python还提供了丰富的数据结构,如列表、元组、字典和集合。这些内容会帮助你更好地组织和管理数据。...

    python程序设计基础教程慕课版课后题答案-Python语言程序设计基础.pdf

    作为一门通用编程语言,Python的核心教学内容涵盖了分支、循环、函数等基本程序逻辑,以及丰富的函数库应用,这使得它在解决计算问题时表现出高效和易用性。Python的跨平台特性使得它在不同操作系统上都能运行,而...

    头歌python程序设计答案.rar

    这份文档可能是对《头歌Python程序设计》这本书的配套练习题或测试题的解决方案,旨在帮助读者巩固所学知识,解决在编程实践中遇到的问题。 Python是一种高级、解释型、交互式和面向对象的脚本语言。其简洁明了的...

    基于Python Django及Redis的微信小程序后台接口源码

    项目简介:本项目采用Python语言开发,基于Django框架和Redis数据库,构建了一套微信小程序的后台接口。该源码包含共计5723个文件,其中主要文件类型包括: - Python源文件(.py):1528个,为主要业务逻辑实现; -...

    《Python程序设计与算法基础教程(第二版)》江红余青松全部章节的课后习题,上机实践,课 .pdf

    3. **在资源管理器中运行Python程序**: - 可以通过PowerShell或cmd命令行直接运行Python脚本,如`python hello.py`。如果脚本和命令行在同一目录下,可以直接输入脚本名,否则需要指定完整路径。 4. **命令行参数...

    python程序设计(浙江大学).rar

    python程序设计PPT(浙江大学python课件)对应慕课该课程PPT。 包含9章内容: python语言介绍; 语句; 字符串,列表,元组; 集合,字典; 函数,命名空间和作用域; 文件读写操作; Web应用; 网络爬虫;等

    Python4Delphi 运行环境Python38版本

    标题中的 "Python4Delphi 运行环境Python38版本" 指的是为了运行基于 Python4Delphi 开发的应用程序,你需要安装特定版本的 Python 运行时环境,即 Python 3.8。Python 的不同版本之间可能存在不兼容性,因此,为了...

    225-运行程序-01-增加Shebang符号直接运行Python程序.flv

    225-运行程序-01-增加Shebang符号直接运行Python程序.flv

    win7解决python打包EXE不能运行升级包.rar

    在Windows 7操作系统中,使用Python进行程序开发后,我们常常需要将代码打包成可执行文件(EXE),以便在没有Python环境的机器上运行。然而,在某些情况下,打包后的EXE文件可能无法正常运行,这通常是由于系统兼容...

    Python语言程序设计PPT课件.zip

    Python程序设计的书籍已经琳琅满目,每一本书都凝聚了作者对Python的理解和对程序设计的认识,都是作者编程开发和教学经验的总结,都折射出作者的专业背景。由于大数据专业学生对程序设计的要求不是很高,但又需要...

    Python-用于测量监视和分析在运行的Python程序中Python对象的内存行为的开发工具

    Development tool to measure, monitor and analyze the memory behavior of Python objects in a running Python application.

    Python后台静默打印PDF文件附属执行程序

    本资源提供的"Python后台静默打印PDF文件附属执行程序"正是针对这一需求的解决方案,包含两个关键组件:Ghostscript和Gsprint。 **Ghostscript** 是一个开源的软件,它能够解析和处理PostScript以及PDF文件。它的...

    基于Qt+C++开发一个python编译器,能够编写,运行python程序+源码(毕业设计&课程设计&项目开发)

    基于Qt+C++开发一个python编译器,能够编写,运行python程序+源码,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 项目简介: 该项目利用Qt+C++实现了一个简易的...

    python程序设计教程-张莉-江苏省python二级教材-全套PPT

    《Python程序设计教程》是张莉教授为江苏省计算机二级考试编写的教材,旨在帮助考生全面理解和掌握Python编程语言。这套PPT涵盖了从Python基础到高级应用的诸多知识点,旨在为考试提供系统的复习材料。 首先,从第1...

Global site tag (gtag.js) - Google Analytics