在命令行下#program1 | program2
我的program1会每5秒钟在标准输出输出一些文本, 我的program2程序里面从标准输入读, 然后进行一些处理, 为什么我的program2没有正常读到东西?
前面可能有点抽象, 具体就类似 top | grep zsh
, 但是没有输出, 怎么破?
top
是交互式程序,如果你可以使用ps
命令来grep
你的关键字,也可以使用pgrep
等执行一些更加复杂的进程信息的grep
。
ps -ef | grep zsh
使用pgrep
的高级例子:
pgrep -u username zsh
top | grep zsh
可以有输出,只不过top只显示排名前若干位的进程,可能zsh刚好没有入围海选而已。
原因是program1没有循环读的问题, 现在还是去hack program1去了, 不采用这种方式了