0

Java アプリケーションを実行し、syslog を読み取って、他の Python ベースのイベントをトリガーする必要があります。

同時に、すべての Java 出力の /var/tmp/log.log にダンプして保存する必要もありますが、/var/tmp/log.log作成できなかった新しい Python イベント コントローラーが追加されたためです。どうすればまだそれを作ることができますか?. 例: 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;
4

1 に答える 1

1

私の頭の上から:

$ 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 を実行します。

于 2013-08-03T02:39:04.813 に答える