__main__.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:bnc-bot 作者: snoonetIRC 项目源码 文件源码
def main():
    with open('.bncbot.pid', 'w') as pid_file:
        pid_file.write(str(os.getpid()))
    conn = Conn(bot.HANDLERS)

    original_sigint = signal.getsignal(signal.SIGINT)

    def handle_sig(sig, frame):
        if sig == signal.SIGINT:
            if conn:
                asyncio.run_coroutine_threadsafe(conn.shutdown(), conn.loop)
            signal.signal(signal.SIGINT, original_sigint)
        elif sig == signal.SIGHUP:
            if conn:
                asyncio.run_coroutine_threadsafe(conn.shutdown(True), conn.loop)

    signal.signal(signal.SIGINT, handle_sig)
    signal.signal(signal.SIGHUP, handle_sig)
    restart = conn.run()
    if restart:
        conn = None
        time.sleep(1)
        os.chdir(original_wd)
        args = sys.argv
        for f in [sys.stdout, sys.stderr]:
            f.flush()
        os.execv(sys.executable, [sys.executable] + args)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号