V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Akagi201
V2EX  ›  问与答

bash 下管道没有成功传递内容问题?

  •  
  •   Akagi201 · 2014-06-17 17:09:48 +08:00 · 2112 次点击
    这是一个创建于 3804 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在命令行下#program1 | program2 我的program1会每5秒钟在标准输出输出一些文本, 我的program2程序里面从标准输入读, 然后进行一些处理, 为什么我的program2没有正常读到东西?

    前面可能有点抽象, 具体就类似 top | grep zsh, 但是没有输出, 怎么破?
    6 条回复    2014-06-17 23:55:23 +08:00
    Akagi201
        1
    Akagi201  
    OP
       2014-06-17 17:11:10 +08:00
    怎么破, 能到达实时处理的效果
    coolcfan
        2
    coolcfan  
       2014-06-17 17:22:16 +08:00   ❤️ 1
    后面的那个命令会持续从标准输入读么?

    比如那个命令每次运行只读一次stdin。
    jings
        3
    jings  
       2014-06-17 17:55:45 +08:00 via Android
    |args grep zsh
    Akagi201
        4
    Akagi201  
    OP
       2014-06-17 19:02:11 +08:00
    @coolcfan 恩, 估计是后面程序没有循环读的问题, 改了好一些了... 还有其他问题
    skybr
        5
    skybr  
       2014-06-17 19:16:12 +08:00   ❤️ 1
    program1确保输出内容后flush stdout
    Akagi201
        6
    Akagi201  
    OP
       2014-06-17 23:55:23 +08:00
    用lua脚本各种坑, program2里面有函数调用, 然后就不行, 不知道为什么, 现在思路还是去hack program1的C代码了, 6k多行代码, 还是逃不了, 必须看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3263 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 10:43 · PVG 18:43 · LAX 02:43 · JFK 05:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.