首页 > 解决方案 > 如何在linux中使用“kill -HUP”重新加载python程序

问题描述

我在linux中有一个python程序

  server: ps -ef | grep -i ashe
    
    root 26388     1  0 13:51 pts/3    00:00:00 /opt/app/ashe/python3/bin/python3.6 /opt/app/ashe/ashe_parser.py
    
    root 32578     1  8 08:05 ?        00:31:09 /opt/app/ashe/python3/bin/python3.6 /opt/app/ashe/ashe_ticketer.py

该程序处理一些数据并将日志发送到日志文件。

但是,还有其他程序会在某个时间轮换和归档这些日志。一旦发生这种情况,python 程序就无法将任何内容记录到新创建的文件中。

原因似乎是 python 程序仍然是这些旋转文件的成员。

server:/opt/app/ashe/ashe_logs:  lsof | grep -i ashe | grep -i log | grep -i python3.6 

python3.6 26388    root    4w      REG              253,3     8414    540277 /opt/app/ashe/ashe_logs/ticketing.log.bak_20200811_115123 (deleted) 

python3.6 32578    root    4w      REG              253,3     8414    540277 /opt/app/ashe/ashe_logs/ticketing.log.bak_20200811_115123 (deleted)

我尝试“kill -HUP”重新加载python程序,但它终止了它。使用“pkill -HUP”它不会终止它,但它不会做任何其他事情。

请问如何从linux端或python程序本身解决这个问题?

谢谢

标签: pythonprocesskill

解决方案


推荐阅读