def startup(): tornado.options.parse_command_line() print 'port: %s' % (options.port) if options.daemonize: from daemonize import become_daemon become_daemon(our_home_dir=options.workdir) run(options)
def __init__(self, config): self.config = config if config.getboolean('bot', 'daemon'): from daemonize import become_daemon import fcntl self.logfile = config.get('daemon', 'logfile', '') if config.getboolean('bot', 'debug'): basicConfig(level=DEBUG, format='%(asctime)s %(levelname)s \ %(message)s', filename=self.logfile) else: basicConfig(level=INFO, format='%(asctime)s %(levelname)s \ %(message)s', filename=self.logfile) become_daemon() try: self.pidfile = open(config.get('daemon', 'pidfile'), 'w') fcntl.lockf(self.pidfile, fcntl.LOCK_EX|fcntl.LOCK_NB) self.pidfile.write('%s' % (os.getpid())) self.pidfile.flush() except Exception, e: error('error create pid file %s' % str(e))
failover_id = str( uuid.uuid1() ) process_start = time.time() analyzer = PingsAnalyzer( failtime, len( failovers ) ) try: httpserver = HttpServer( port, analyzer ) except socket.error, e: print >> sys.stderr, "Error while starting http server:", e exit( 1 ) print "Replica process started. ReplicaProcessId = %s, Port = %d" % ( failover_id, port ) logger.trace( "Replica process started. ReplicaProcessId = %s, Port = %d" % ( failover_id, port ) ) become_daemon() write_pid( pidfile ) httpserver.start() lasttime = {} info = {} while True: for hostport in redises: r = redis.Redis( hostport[ 0 ], port = int( hostport[ 1 ] ), socket_timeout = check_delay / 2 ) role, master_host, master_port, used_memory = "", "", "", "" try: redis_info = r.info() if redis_info[ "loading" ] == 0: role = redis_info[ "role" ]
if options["daemonize"] is None: # Default to daemonizing if we're running on a socket/named pipe. daemonize = (wsgi_opts['bindAddress'] is not None) else: if options["daemonize"].lower() in ('true', 'yes', 't'): daemonize = True elif options["daemonize"].lower() in ('false', 'no', 'f'): daemonize = False else: return fastcgi_help("ERROR: Invalid option for daemonize parameter.") daemon_kwargs = {} if options['outlog']: daemon_kwargs['out_log'] = options['outlog'] if options['errlog']: daemon_kwargs['err_log'] = options['errlog'] if options['umask']: daemon_kwargs['umask'] = int(options['umask'], 8) if daemonize: from daemonize import become_daemon become_daemon(our_home_dir=options["workdir"], **daemon_kwargs) if options["pidfile"]: fp = open(options["pidfile"], "w") fp.write("%d\n" % os.getpid()) fp.close() WSGIServer(WSGIHandler, **wsgi_opts).run()
#!/usr/bin/python -u import sys, os from daemonize import become_daemon SOUNDFILE = sys.argv[1] APLAY = '/usr/bin/aplay' PID = '/var/run/beepd.pid' rc = become_daemon() try: file(PID, 'w').write(str(rc)) except IOError: sys.stderr.write("Can't write PID file.\n") try: beepdev = open("/dev/beep") except IOError: sys.stderr.write("Can't open beep device.\n") try: while 1: if beepdev.read(1): rc = os.fork() if not rc: os.execl(APLAY, APLAY, "-N", SOUNDFILE) else: continue except: beepdev.close() sys.stderr.write("Exiting.\n") sys.exit(0)
if options["daemonize"] is None: # Default to daemonizing if we're running on a socket/named pipe. daemonize = (wsgi_opts['bindAddress'] is not None) else: if options["daemonize"].lower() in ('true', 'yes', 't'): daemonize = True elif options["daemonize"].lower() in ('false', 'no', 'f'): daemonize = False else: return fastcgi_help( "ERROR: Invalid option for daemonize parameter.") daemon_kwargs = {} if options['outlog']: daemon_kwargs['out_log'] = options['outlog'] if options['errlog']: daemon_kwargs['err_log'] = options['errlog'] if options['umask']: daemon_kwargs['umask'] = int(options['umask'], 8) if daemonize: from daemonize import become_daemon become_daemon(our_home_dir=options["workdir"], **daemon_kwargs) if options["pidfile"]: fp = open(options["pidfile"], "w") fp.write("%d\n" % os.getpid()) fp.close() WSGIServer(WSGIHandler, **wsgi_opts).run()
else: print "unknown argument: %s" % arg # Become a daemon if we're running on a POSIX platform. # TODO: run as a Windows service on NT. if os.name == 'posix': # Install signal handlers install_handlers() if do_daemonize: # Become a UNIX daemon if os.getenv('PYCS_NO_LOGGING'): daemonize.become_daemon( pycs_paths.ROOTDIR, '/dev/null', '/dev/null' ) else: daemonize.become_daemon( pycs_paths.ROOTDIR, os.path.join( pycs_paths.LOGDIR, 'etc.log' ), os.path.join( pycs_paths.LOGDIR, 'error.log' ) ) # Write the presently running pid to a pid file # which will typically be used to stop and get status of # the pycs daemon. my_pid = os.getpid() pid_file = open( pycs_paths.PIDFILE, 'w' ) pid_file.write( "%d" % my_pid )