Python - 我如何读入和读出,以便其他读者可以阅读它以进一步追求?

时间:2013-08-03 02:22:12

标签: java python linux bash

我必须运行Java应用程序并读取syslog以触发其他一些基于Python的事件。

同时我还需要将其转储并存储在所有java输出的/var/tmp/log.log中,但因为添加了新的Python事件控制器,/var/tmp/log.log我无法创建。知道怎么还能做到吗? 。例如:java | python>> java日志为>> log.log for tail -f

之前:(工作)

$ java -cp /var/tmp/Audio.jar Main.Boot >> /var/tmp/log.log &
$ tail -f /var/tmp/log.log

之后:(不工作)

$ java -cp /var/tmp/Audio.jar Main.Boot | python -u /var/tmp/consumer.py &
$ tail -f ????? how can i have the java syslog still dumped as like my BEFORE ????

/var/tmp/consumer.py

import sys, time, os
while True:
  line = sys.stdin.readline()
  if line:
    sys.stdout.flush()
    if "wall:on" in line:
      os.system("/var/tmp/me.sh")
  else:
    time.sleep(1)

/var/tmp/me.sh

#!/bin/bash
export DISPLAY=:0.0 
ps aux | grep "/var/tmp/pp.py" | awk '{print $2}' | xargs kill -9;
# System maintain..
python /var/tmp/pp.py &
sleep 3
ps aux | grep "/var/tmp/pp.py" | awk '{print $2}' | xargs kill -9;

1 个答案:

答案 0 :(得分:2)

脱离我的头顶:

$ java -cp /var/tmp/Audio.jar Main.Boot | tee /var/tmp/log.log | python -u /var/tmp/consumer.py &
$ tail -f /var/tmp/log.log

我也会在python中执行awk / grep,而不是通过子进程。