python - 如何kill掉后台中的tail -f
巴扎黑
巴扎黑 2017-04-18 09:21:44
[Python讨论组]
巴扎黑
巴扎黑

全部回复(3)
PHPz

感谢邀请,两个思路:

  1. 记录下tail的进程号,比如(tail -f access.log & echo $! > pid) | python parse.py,这样pid里面就有tail的进程号了,后面你懂的

  2. 在python代码里面去tail,比如用subprocess来调,或者自己实现一个简单的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的目的是什么?

你既然已经说了每天会分割一次,看你的描述这个parse.py脚本也是一次性执行完毕关闭时最好的结果

所以你直接tail accesss.log 以后直接管道发给parse.py脚本就可以了

tail access.log | python parse.py

也不用那么麻烦要配合nohup和kill来杀进程,而是parse.py执行完毕,会自动退出

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号