python脚本demo
import atexit import logging import os import signal import sys from logging.handlers import RotatingFileHandler logger = logging.getLogger() MAX = 10 * 1024 * 1024 BACK_UP_COUNT = 10 def setup_logging(): log_file = os.path.join(r'C:\\',"demo.log") logger.setLevel(logging.INFO) file_handler = RotatingFileHandler(log_file,"a",MAX,BACK_UP_COUNT) file_handler.setFormatter( logging.Formatter( "[%(asctime)%s] [%(process)d] [%(levelname)s] - %(module)s.%(funcName)s" "(%(filename)s:%(lineno)d) - %(message)s" ) ) logger.addHandler(file_handler) PID_FILE = "fmpid.pid" def write_pid(): with open(PID_FILE,"w") as f: f.write('%s\n'%(os.getpid())) def read_pid(): try: with open(PID_FILE) as f: pid = int(f.read().strip()) except Exception: pid = None return pid def remove_pid(): if os.path.exists(PID_FILE): os.remove(PID_FILE) def sig_handler(sig,frame): logger.warning("shutting down, got signal %d"%sig) remove_pid() sys.exit(0) def setup_application(): pid = read_pid() if pid: sys.stdout.write('processing is running...\n') sys.exit(0) setup_logging() write_pid() atexit.register(remove_pid) for sig in (signal.SIGTERM,signal.SIGINT): signal.signal(sig,sig_handler) def main(): setup_application() # 逻辑
相关推荐
liujiaoyage 2020-09-09
山有木兮卿有意 2020-06-25
Attend 2020-06-14
citic 2020-06-14
wandererdl 2020-06-14
lfjjia 2020-04-19
ajuan 2020-03-03
wangrui0 2020-02-20
fcds00 2020-01-28
DonviYang 2020-01-08
Happyunlimited 2020-01-01
学习备忘录 2019-12-08
batoom 2011-03-06
pwl 2008-06-13
IsanaYashiro 2019-11-05
hehuistudent 2008-09-11
vanturman 2019-10-21