import sysimport loggingfrom cloghandler import ConcurrentRotatingFileHandlerfrom config.settings import log_configfrom controller.controller import Controllerdef daemon():import os# create - fork 1try:pid = os.fork()if pid > 0:return pidexcept OSError as error:logging.error('fork #1 failed: %d (%s)' %(error.errno, error.strerror))return -1# it separates the son from the father# os.chdir('/opt/pbx')os.setsid()os.umask(0)# create - fork 2try:pid = os.fork()if pid > 0:return pidexcept OSError as error:logging.error('fork #2 failed: %d (%s)' %(error.errno, error.strerror))return -1sys.stdout.flush()sys.stderr.flush()si = open("/dev/null", 'r')so = open("/dev/null", 'a+')se = open("/dev/null", 'a+')os.dup2(si.fileno(), sys.stdin.fileno())os.dup2(so.fileno(), sys.stdout.fileno())os.dup2(se.fileno(), sys.stderr.fileno())return 0def setlog():"""设置日志格式:return:"""rotateHandler = ConcurrentRotatingFileHandler(log_config['file_path'], "a", 20 * 1024 * 1024, 100)rotateHandler.setLevel(logging.INFO)formatter = logging.Formatter('[%(asctime)s] [process:%(process)s] [%(filename)s:%(lineno)d] %(levelname)s %(message)s')rotateHandler.setFormatter(formatter)log = logging.getLogger()log.addHandler(rotateHandler)log.setLevel(logging.INFO)def main():setlog()#pid = daemon()# if pid:# return pidController().start()if __name__ == "__main__":main()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。