Esempio n. 1
0
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]
Esempio n. 2
0
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()
Esempio n. 3
0
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]
Esempio n. 4
0
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]
Esempio n. 5
0
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]
Esempio n. 6
0
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
Esempio n. 7
0
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
Esempio n. 8
0
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")
Esempio n. 9
0
    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
Esempio n. 11
0
 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)
Esempio n. 12
0
#!/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)
Esempio n. 13
0
#!/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)
Esempio n. 15
0
        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)
Esempio n. 16
0
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'
Esempio n. 17
0
####### 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)
Esempio n. 18
0
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
Esempio n. 19
0
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)
Esempio n. 20
0
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'
Esempio n. 21
0
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)
    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)
Esempio n. 23
0
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'