linux shell,将数据流重定向作为下一个程序的输入,由于有缓冲机制,数据流无法实时进行处理

问题描述

linux shell,将数据流重定向作为下一个程序的输入,由于有缓冲机制,数据流无法实时进行处理

上述问题可以简化为以下问题:
python脚本如下:

 #coding=utf-8

import sys
import os
import time

if __name__ == '__main__':
        while True:
                print time.strftime('%Y-%m-%d %H:%M:%S')
                time.sleep( 5 )

然后通过linux命令行:python produceNmu.py >> xhb.info

这样的话每隔5s会输出一个字符串
如果想让字符串实时写入到xhb.info中,该如何做呢?
谢谢大家

解决方案

你这种机制应该是放到一个MQ等中去,而不是通过数据流来做,python程序把数据不停的插入消息队列,另一个程序从队列中读取数据来处理

时间: 2024-11-30 20:15:48

linux shell,将数据流重定向作为下一个程序的输入,由于有缓冲机制,数据流无法实时进行处理的相关文章

java web项目部署到Linux后访问WEB-INF/classes文件下一个文件的问题

问题描述 java web项目部署到Linux后访问WEB-INF/classes文件下一个文件的问题 java web项目部署到Linux服务器上,其中有一个模板下载的请求连接,模板文件就是放在src下面编译后放在classes文件夹下.现在问题是访问这个下载链接时,项目日志报异常了No such file or directory.是不是我这个java应用没有访问这个文件的权限呢?怎么才能让它能访问呢? 解决方案 No such file or directory 有记录具体的路径信息吗?文

c++-C++编写一个程序,输入一个广义表,对广义表遍历并且计算广义表的个数。

问题描述 C++编写一个程序,输入一个广义表,对广义表遍历并且计算广义表的个数. C++编写一个程序,输入一个广义表,对广义表遍历并且计算广义表的个数. 解决方案 http://blog.csdn.net/jack_wong2010/article/details/6910200

怎样做一个程序对另一个程序的输入进行测试?

问题描述 怎样做一个程序对另一个程序的输入进行测试? 例如: 现在有一个程序,一打开就要输入一个数,输入正确就显示OK,输入错误就显示Error. 现在我想做一个程序,对上面的程序要输入的数进行测试.怎样获得对上面程序的输入?怎样获得对上面程序的输入后的返回值? 解决方案 什么程序呢,可以通过截获内存信息的方式来解析.

Linux Shell脚本之通过json判断应用程序内部运行状态

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://dgd2010.blog.51cto.com/1539422/1686475 之前写过一篇<Zabbix监控之Linux命令行/Shell脚本解析json>,文章提到一种"利于Zabbix监控报警的json数据格式",便于运维人员通过API获取应用程序中的运行状态.内部依赖关系等.但有的开发人员没有按照这种格式来,而是采用了下面的这种json数据格式: 成功

Linux中使用at命令定时执行一个程序

在windows下有一个还算好用的命令:at    它完成的使命是能够定时执行某个任务,例如:在一个月黑风高的晚上,下载一个电影的时候,但是又不想守着,但是一直守着又不可能,不关机就更对不起人类了   所以,在那时就可以使用at命令叫它在3:00关机,那么命令大概如下:at 3:00 shutdown -s -f   具体的怎么玩儿的自己在windows下的cmd黑框框里输入: at   /? 自己看帮助去吧  现在莫有windows环境,给你们截不了图的 当然,Linux也有这么一个叫at的命

前一个textbox控件执行完程序跳到下一个后,如何跳转到下一个程序

问题描述 textBox9执行完后,不用焦点,如何让textBox10执行呢privatevoidtextBox8_TextChanged(objectsender,EventArgse){if(textBox8.Text.Length<=2){}else{textBox9.Focus();}}privatevoidtextBox9_TextChanged(objectsender,EventArgse){if(textBox9.Text.Length<=2){}else{textBox10_

Linux的数据流重定向知识

一.什么是数据流重定向 在说数据流重定向之前,先来说说数据流的概念吧.数据流分为三种:标准输入(stdin),标准输出(stdout)和标准错误输出(stderr). 简单来说,标准输出指的是命令执行所回传的正确信息,而标准错误输出指的是命令执行失败后,所回传的错误信息.这些信息默认是打印在屏幕上的. 那么什么时数据流重定向呢?从字面上理解就是改变数据流的流向,使之流向指定的文件或设备.例如,把执行命令所回传的正确信息(标准输出信息)流向一个文件,而将所回传的错误信息(标准错误输出)流向别一个文

Linux 数据流重定向及简单的文本处理

Linux 数据流重定向 开始对重定向这个概念感到些许陌生,但通过前面的课程中多次见过>或>>操作了,并知道他们分别是将标准输出导向一个文件或追加到一个文件中.这其实就是重定向,将原本输出到标准输出的数据重定向到一个文件中,因为标准输出(/dev/stdout)本身也是一个文件,我们将命令输出导向另一个文件自然也是没有任何问题的. 数据流重定向 下面简单的回顾一下前面经常用到的两个重定向操作: $ echo 'hello shiyanlou' > redirect $ echo '

Linux shell脚本基础学习详细介绍(完整版)

Linux shell脚本基础学习这里我们先来第一讲,介绍shell的语法基础,开头.注释.变量和 环境变量,向大家做一个基础的介绍,虽然不涉及具体东西,但是打好基础是以后学习轻松地前提. 1. Linux 脚本编写基础 ◆1.1 语法基本介绍1.1.1 开头 程序必须以下面的行开始(必须方在文件的第一行): #!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执行该脚本,还必须使其可执行. 要使脚本可