扫码关注官方订阅号
感谢邀请,两个思路:
记录下tail的进程号,比如(tail -f access.log & echo $! > pid) | python parse.py,这样pid里面就有tail的进程号了,后面你懂的
(tail -f access.log & echo $! > pid) | python parse.py
在python代码里面去tail,比如用subprocess来调,或者自己实现一个简单的tail -f
使用 tail -F,不用去杀进程了。
tail -F
-f, --follow[={name|descriptor}] output appended data as the file grows; an absent option argument means 'descriptor' -F same as --follow=name --retry
参考: How to do a tail -f of log rotated files?
tail -f
好奇的问下 tail -f的目的是什么?
你既然已经说了每天会分割一次,看你的描述这个parse.py脚本也是一次性执行完毕关闭时最好的结果
所以你直接tail accesss.log 以后直接管道发给parse.py脚本就可以了
tail access.log | python parse.py
也不用那么麻烦要配合nohup和kill来杀进程,而是parse.py执行完毕,会自动退出
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
感谢邀请,两个思路:
记录下tail的进程号,比如
(tail -f access.log & echo $! > pid) | python parse.py,这样pid里面就有tail的进程号了,后面你懂的在python代码里面去tail,比如用subprocess来调,或者自己实现一个简单的tail -f
使用
tail -F,不用去杀进程了。参考: How to do a
tail -fof log rotated files?好奇的问下 tail -f的目的是什么?
你既然已经说了每天会分割一次,看你的描述这个parse.py脚本也是一次性执行完毕关闭时最好的结果
所以你直接tail accesss.log 以后直接管道发给parse.py脚本就可以了
tail access.log | python parse.py
也不用那么麻烦要配合nohup和kill来杀进程,而是parse.py执行完毕,会自动退出