singleton.py 文件源码

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

项目:Linalfred 作者: PeterHo 项目源码 文件源码
def __init__(self, argv, application_id=None):
        QApplication.__init__(self, argv)

        self.socket_filename = os.path.expanduser("~/.ipc_%s" % self.generate_ipc_id())
        self.shared_mem = QSharedMemory()
        self.shared_mem.setKey(self.socket_filename)

        if self.shared_mem.attach():
            self.is_running = True
            return

        self.is_running = False
        if not self.shared_mem.create(1):
            print("Unable to create single instance")
            return
        # start local server
        self.server = QLocalServer(self)
        # connect signal for incoming connections
        self.server.newConnection.connect(self.receive_message)
        # if socket file exists, delete it
        if os.path.exists(self.socket_filename):
            os.remove(self.socket_filename)
        # listen
        self.server.listen(self.socket_filename)

        SingletonApp.instance = self

        # ??????
        signal.signal(signal.SIGINT, self.onExit)
        # signal.signal(signal.SIGKILL, onExit)
        signal.signal(signal.SIGTERM, self.onExit)
        self.timer = QTimer()
        self.timer.start(500)
        self.timer.timeout.connect(lambda: None)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号