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)
评论列表
文章目录