我必须永远读取一个文件,例如系统启动时直到结束。基于文件事件,python 脚本必须采取行动。但奇怪的是我的 python 脚本没有这样做。
第 1 步:crontab 并在启动时我有以下内容
tail -f /var/tmp/event.log | python /var/tmp/event.py &
第 2 步:其他应用程序现在正在转储文件 /var/tmp/event.log 中的行,例如
java -cp Java.jar Main.main | tee -a /var/tmp/event.log
or
echo "tst" >> /var/tmp/event.log
or
otherapps | tee -a /var/tmp/event.log
第 3 步:python event.py 有一个循环来监听命令并执行,但这些执行没有发生
import sys, time, os
while True:
line = sys.stdin.readline()
if line:
if "runme.sh" in line:
os.system("/var/tmp/runme.sh")
if "killfirefox.sh" in line:
os.system("/var/tmp/killfirefox.sh")
if "shotemail.sh" in line:
os.system("/var/tmp/shotemail.sh")
if "scan.sh" in line:
os.system("/var/tmp/scan.sh")
if "screenshot.sh" in line:
os.system("/var/tmp/screenshot.sh")
else:
time.sleep(1)
我做错了什么?我已经验证了 event.log 文件每行都有正确的命令,甚至当我手动执行它时echo "runme.sh" | python /var/tmp/event.py
它也可以工作,但为什么在使用引导时间/crontab 模式时不工作?