def log_message(message, lock, sock): try: client = Daemon.attach_to_daemon(pid=lock, sock=sock) client.post_log_message_for_key(message) client.close() except: return sys.exc_info()[1]
def main(): try: print "Atom service framework started" print "==============================" print "Written by Mattias Runge 2008" print "" Settings.LoadSettings() if Settings.Settings.has_key("DAEMON") and Settings.Settings["DAEMON"].upper() == "YES": print "Entering daemon mode" retCode = Daemon.createDaemon() print "Entered daemon mode" print "" print "Atom service framework started" print "==============================" print "Written by Mattias Runge 2008" print "" else: print "Not entering daemon mode" ServiceManager.GetServiceManager() backendCan = BackendCan.GetBackendCan() controlMan = ControllerManager.GetControllerManager() controlMan.StartConfiguredControllers() backendCan.join() except (KeyboardInterrupt, SystemExit): print "User abort detected, stopping program" sys.exit()
def get_daemon_status(lock, sock): try: client = Daemon.attach_to_daemon(pid=lock, sock=sock) mess = client.post_status_request() client.close() return mess except: return sys.exc_info()[1]
def stop_daemon(lock, sock): if is_daemon_running(lock): client = Daemon.attach_to_daemon(pid=lock, sock=sock) client.post_stop_daemon() client.close() try: os.waitpid(DaemonIPC.get_pid_from_lock(lock), 0) except: pass
def menu(host, T, t_host): while True: print("Scegli azione PEER:\nlogin\t - Login\nquit\t - Quit\n\n") choice = input() if (choice == "login" or choice == "l"): t_host, sessionID = logi.login(host, t_host) if sessionID != bytes(const.ERROR_LOG, "ascii"): tfunc.success("Session ID: " + str(sessionID, "ascii")) listPartOwned = {} daemonThreadP = daemon.PeerDaemon(host, listPartOwned) daemonThreadP.setName("DAEMON PEER") daemonThreadP.setDaemon(True) daemonThreadP.start() waitingDownload = [] while True: if len(waitingDownload) == 0: print( "\n\nScegli azione PEER LOGGATO:\nadd\t - Add File\nsearch\t - Search and Download\nlogout\t - Logout\n\n" ) choice_after_log = input() if (choice_after_log == "add" or choice_after_log == "a"): add.add(host, sessionID, t_host, listPartOwned) elif (choice_after_log == "search" or choice_after_log == "s"): src.search(sessionID, host, t_host, listPartOwned, waitingDownload) elif (choice_after_log == "logout" or choice_after_log == "l"): if (logo.logout(host, t_host, sessionID) > 0): break else: tfunc.error("Wrong Choice!") else: time.sleep(1) else: tfunc.error("Errore Login") elif (choice == "quit" or choice == "q"): if T: logo.quit(host) break else: tfunc.error("Wrong Choice")
def signalHandler(self, signum, frame): """Meta signal handler that dispatches to registered handlers.""" signame = Daemon.get_signal_name(signum) zLOG.LOG('Z2', zLOG.INFO , "Caught signal %s" % signame) for handler in self.registry.get(signum, []): # Never let a bad handler prevent the standard signal # handlers from running. try: handler() except SystemExit: # if we trap SystemExit, we can't restart raise except: zLOG.LOG('Z2', zLOG.WARNING, 'A handler for %s failed!' % signame, error=sys.exc_info())
def updateStatusAndConfig(self): """ Updates the status and config, based on any editing of config files and/or signals received. """ if self.dconfig.rereadIfUpdated(): self.setVarsFromConfig() self.info("config file reread") if self.status == status.STOPPED: self.info("stop requested in config") elif Daemon.weWereSignalled("USR1"): self.info("stop requested by signal") self.status = status.STOPPED
def registerHandler(self, signum, handler): """Register a handler function that will be called when the process recieves the signal signum. The signum argument must be a signal constant such as SIGTERM. The handler argument must be a function or method that takes no arguments. Note that handlers will not be called on non-posix platforms.""" if os.name != 'posix': return items = self.registry.get(signum) if items is None: items = self.registry[signum] = [] signal.signal(signum, self.signalHandler) signame = Daemon.get_signal_name(signum) zLOG.LOG('Z2', zLOG.BLATHER, "Installed sighandler for %s" % ( signame )) items.insert(0, handler)
#!/usr/bin/env python # vim: set tabstop=4 shiftwidth=4 autoindent smartindent: import os, sys import logging # import Daemon import Log if __name__ == "__main__": #initialize file and console logging Log.init('test_daemon.log', True) logging.info('daemonize?') retCode = Daemon.daemonize() # we are now detatched, but logging to file should still be working logging.info( 'daemonized! we are now safely detached with thread-safe logging') procParams = "return code = %s, process ID = %s, parent process ID = %s, process group ID = %s, session ID = %s, user ID = %s, effective user ID = %s, real group ID = %s, effective group ID = %s" % ( retCode, os.getpid(), os.getppid(), os.getpgrp(), os.getsid(0), os.getuid(), os.geteuid(), os.getgid(), os.getegid()) spam = logging.getLogger('spam') spam.info(procParams) sys.exit(retCode)
#!/usr/bin/env python # vim: set tabstop=4 shiftwidth=4 autoindent smartindent: import os, sys import logging # import Daemon import Log if __name__ == "__main__": #initialize file and console logging Log.init('test_daemon.log', True) logging.info('daemonize?') retCode = Daemon.daemonize() # we are now detatched, but logging to file should still be working logging.info('daemonized! we are now safely detached with thread-safe logging') procParams = "return code = %s, process ID = %s, parent process ID = %s, process group ID = %s, session ID = %s, user ID = %s, effective user ID = %s, real group ID = %s, effective group ID = %s" % (retCode, os.getpid(), os.getppid(), os.getpgrp(), os.getsid(0), os.getuid(), os.geteuid(), os.getgid(), os.getegid()) spam = logging.getLogger('spam') spam.info(procParams) sys.exit(retCode)
def managerstop(): pid = open('/tmp/quantmanager.pid', 'r').read() try: p = ps.Process(int(pid)) p.terminate() time.sleep(1) except: pass try: for x in ps.pids(): p = ps.Process(x) if 'QuantManager' in str(p.cmdline()): #print x, p.cmdline() p.terminate() except: pass if __name__ == '__main__': if sys.argv[1] == 'stop': managerstop() exit() Daemon.Daemon(pidfile='/tmp/quantmanager.pid').runAsDaemon() if sys.argv[1] == 'server': ProcessManager(host='0.0.0.0', port=manager_port).start() elif sys.argv[1] == 'client': processCheck(host='127.0.0.1', port=manager_port)
logIP = opt.log[:colon] logPort = int(opt.log[colon + 1:]) if opt.liveLog is None: liveIP = None livePort = None else: colon = opt.liveLog.find(':') if colon < 0: sys.exit("ERROR: Bad liveLog argument '%s'" % opt.liveLog) liveIP = opt.liveLog[:colon] livePort = int(opt.liveLog[colon + 1:]) if opt.daemon: Daemon.Daemon().Daemonize() cnc = CnCServer(clusterDesc=opt.clusterDesc, name="CnCServer", copyDir=opt.copyDir, dashDir=opt.dashDir, runConfigDir=opt.configDir, spadeDir=opt.spadeDir, defaultLogDir=opt.defaultLogDir, logIP=logIP, logPort=logPort, liveIP=liveIP, livePort=livePort, forceRestart=opt.forceRestart, testOnly=False, quiet=opt.quiet)
from Daemon import * import sys if __name__ == '__main__' : if not len(sys.argv) == 2: print 'Usage : python main.py start | stop | restart' exit(1) daemon = Daemon('/var/log/opengrok_auto/update_grok.pid') if sys.argv[1] == 'start': daemon.start() elif sys.argv[1] == 'stop': daemon.stop() elif sys.argv[1] == 'restart': daemon.restart() else: print 'Usage : python main.py start | stop | restart'
####### INIZIO CLIENT ####### nGroup = input("Inserire il numero del gruppo: ") nElement = input("Inserire il numero dell'elemento del gruppo: ") host = ("172.030." + func.format_string(nGroup, const.LENGTH_SECTION_IPV4, "0") + "." + func.format_string(nElement, const.LENGTH_SECTION_IPV4, "0") + "|fc00:0000:0000:0000:0000:0000:" + func.format_string(nGroup, const.LENGTH_SECTION_IPV6, "0") + ":" + func.format_string(nElement, const.LENGTH_SECTION_IPV6, "0")) print("IP:", host) ####### DEMONI daemonThreadv4 = daemon.Daemon(func.get_ipv4(host), listNeighbor, listPkt, listResultQuery, host) daemonThreadv6 = daemon.Daemon(func.get_ipv6(host), listNeighbor, listPkt, listResultQuery, host) daemonThreadv4.setName("DAEMON IPV4") daemonThreadv6.setName("DAEMON IPV6") daemonThreadv4.start() daemonThreadv6.start() # Menù di interazione while True: choice = input( "\n\nScegli azione:\nupdate\t - Update Neighborhood\ndelete\t - Delete Neighborhood\nview\t - View Neighborhood\nsearch\t - Search File\nquit\t - Quit\n\n" ) if (choice == "update" or choice == "u"): updateNeighbor(host, listNeighbor)
if host == "": nGroup = input("Inserire il numero del gruppo: ") nElement = input("Inserire il numero dell'elemento del gruppo: ") host = ("172.030." + func.format_string(nGroup, const.LENGTH_SECTION_IPV4, "0") + "." + func.format_string(nElement, const.LENGTH_SECTION_IPV4, "0") + "|fc00:0000:0000:0000:0000:0000:" + func.format_string(nGroup, const.LENGTH_SECTION_IPV6, "0") + ":" + func.format_string(nElement, const.LENGTH_SECTION_IPV6, "0")) func.gtext("IP: " + host) ####### DEMONI if SN: daemonThreadSN = daemon.Daemon(host, True, sn_network, listPkt, listUsers, listFiles, True) daemonThreadSN.setName("DAEMON SN") daemonThreadSN.start() daemonThreadP = daemon.Daemon(host, True, sn_network, listPkt, listUsers, listFiles, False) daemonThreadP.setName("DAEMON PEER") daemonThreadP.start() else: daemonThreadP = daemon.Daemon(host, False, sn_network, listPkt, listUsers, listFiles, False) daemonThreadP.setName("DAEMON PEER") daemonThreadP.start() ####### INIZIALIZZAZIONE NETWORK
def get_daemon_connection(config): lock = config['daemon']['lock'] sock = config['daemon']['sock'] transport = get_transport_from_config(config) return Daemon.attach_or_create_daemon(transport, pid=lock, sock=sock)
from Daemon import * import sys if __name__ == '__main__' : if not len(sys.argv) == 2: print 'Usage : python main.py start | stop | restart' exit(1) daemon = Daemon('/var/log/meta_auto_down/meta.pid') if sys.argv[1] == 'start': daemon.start() elif sys.argv[1] == 'stop': daemon.stop() elif sys.argv[1] == 'restart': daemon.restart() else: print 'Usage : python main.py start | stop | restart'
for x in ['data', 'state', 'class']: for y in q: gevent_threds.append(gevent.spawn(listen, x, y, q[y])) gevent_threds.append(gevent.spawn(process)) gevent.joinall(gevent_threds) ################## coroutin thred end ############################### """" @socketio.on('disconnect request', namespace='/quant') def disconnect_request(): session['receive_count'] = session.get('receive_count', 0) + 1 emit('my response', {'data': 'Disconnected!', 'count': session['receive_count']}) disconnect() @socketio.on('disconnect', namespace='/quant') def test_disconnect(): print 'Connect' print('Client disconnected') """ @socketio.on('connect', namespace='/quant') def connect(): emit('my response', {'data': 'Connected' + '\n', 'count': 0}) if __name__ == '__main__': Daemon.Daemon(pidfile='/tmp/webserver.pid').runAsDaemon() socketio.run(app, host='0.0.0.0', port=port)
from Daemon import * import sys if __name__ == '__main__': if not len(sys.argv) == 2: print 'Usage : python main.py start | stop | restart' exit(1) daemon = Daemon('/var/log/opengrok_auto/auto_repo.pid') if sys.argv[1] == 'start': daemon.start() elif sys.argv[1] == 'stop': daemon.stop() elif sys.argv[1] == 'restart': daemon.restart() else: print 'Usage : python main.py start | stop | restart'