当前位置: 首页>>代码示例>>Python>>正文


Python os._exit方法代码示例

本文整理汇总了Python中os._exit方法的典型用法代码示例。如果您正苦于以下问题:Python os._exit方法的具体用法?Python os._exit怎么用?Python os._exit使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在os的用法示例。


在下文中一共展示了os._exit方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: daemonize

# 需要导入模块: import os [as 别名]
# 或者: from os import _exit [as 别名]
def daemonize(logfile = None):
    # Fork once
    if os.fork() != 0:
        os._exit(0)
    # Create new session
    os.setsid()
    if os.fork() != 0:
        os._exit(0)
    os.chdir('/')
    fd = os.open('/dev/null', os.O_RDWR)
    os.dup2(fd, sys.__stdin__.fileno())
    if logfile != None:
        fake_stdout = open(logfile, 'a', 1)
        sys.stdout = fake_stdout
        sys.stderr = fake_stdout
        fd = fake_stdout.fileno()
    os.dup2(fd, sys.__stdout__.fileno())
    os.dup2(fd, sys.__stderr__.fileno())
    if logfile == None:
        os.close(fd) 
开发者ID:sippy,项目名称:rtp_cluster,代码行数:22,代码来源:misc.py

示例2: process_request

# 需要导入模块: import os [as 别名]
# 或者: from os import _exit [as 别名]
def process_request(self, request, client_address):
        """Fork a new subprocess to process the request."""
        pid = os.fork()
        if pid:
            # Parent process
            if self.active_children is None:
                self.active_children = []
            self.active_children.append(pid)
            self.close_request(request)
            return
        else:
            # Child process.
            # This must never return, hence os._exit()!
            try:
                self.finish_request(request, client_address)
                self.shutdown_request(request)
                os._exit(0)
            except:
                try:
                    self.handle_error(request, client_address)
                    self.shutdown_request(request)
                finally:
                    os._exit(1) 
开发者ID:Soft8Soft,项目名称:verge3d-blender-addon,代码行数:25,代码来源:socketserver.py

示例3: run

# 需要导入模块: import os [as 别名]
# 或者: from os import _exit [as 别名]
def run(self):
        cmd_line = self._mk_cmd_line()
        logger.info(" ".join(cmd_line))

        try:
            run_with_logging(cmd_line, logger)
        except subprocess.CalledProcessError as e:
            logging.error(e, exc_info=True)
            # exit luigi with the same exit code as the python dataflow job proccess
            # In this way users can easily exit the job with code 50 to avoid Styx retries
            # https://github.com/spotify/styx/blob/master/doc/design-overview.md#workflow-state-graph
            os._exit(e.returncode)

        self.on_successful_run()
        if self.validate_output():
            self._publish_outputs()
        else:
            raise ValueError("Output is not valid") 
开发者ID:spotify,项目名称:spotify-tensorflow,代码行数:20,代码来源:python_dataflow_task.py

示例4: forked_run_report

# 需要导入模块: import os [as 别名]
# 或者: from os import _exit [as 别名]
def forked_run_report(item):
    # for now, we run setup/teardown in the subprocess
    # XXX optionally allow sharing of setup/teardown
    from _pytest.runner import runtestprotocol
    EXITSTATUS_TESTEXIT = 4
    import marshal

    def runforked():
        try:
            reports = runtestprotocol(item, log=False)
        except KeyboardInterrupt:
            os._exit(EXITSTATUS_TESTEXIT)
        return marshal.dumps([serialize_report(x) for x in reports])

    ff = py.process.ForkedFunc(runforked)
    result = ff.waitfinish()
    if result.retval is not None:
        report_dumps = marshal.loads(result.retval)
        return [runner.TestReport(**x) for x in report_dumps]
    else:
        if result.exitstatus == EXITSTATUS_TESTEXIT:
            pytest.exit("forked test item %s raised Exit" % (item,))
        return [report_process_crash(item, result)] 
开发者ID:pytest-dev,项目名称:pytest-forked,代码行数:25,代码来源:__init__.py

示例5: maybe_start_cleaner_thread

# 需要导入模块: import os [as 别名]
# 或者: from os import _exit [as 别名]
def maybe_start_cleaner_thread(self):
        if not self.over_limit():
            return
        # exit immediately if another cleaner is active
        cleaner_lock = os.path.join(self.pcache_dir, ".clean")
        if self.lock_file(cleaner_lock, blocking=False):
            self.log(INFO, "cleanup not starting:  %s locked", cleaner_lock)
            return
        # see http://www.faqs.org/faqs/unix-faq/faq/part3/section-13.html
        # for explanation of double-fork
        pid = os.fork()
        if pid:  # parent
            os.waitpid(pid, 0)
            return
        else:  # child
            self.daemonize()
            pid = os.fork()
            if pid:
                os._exit(0)
            # grandchild
            self.clean_cache()
            self.unlock_file(cleaner_lock)
            os._exit(0) 
开发者ID:rucio,项目名称:rucio,代码行数:25,代码来源:pcache.py

示例6: on_timeout

# 需要导入模块: import os [as 别名]
# 或者: from os import _exit [as 别名]
def on_timeout():
    logger.debug("cli timeout ")
    # Timeout should have been handled by the orchestrator, if the cli timeout
    # has been reached, something is probably wrong : dump threads.
    for th in threading.enumerate():
        print(th)
        traceback.print_stack(sys._current_frames()[th.ident])
        print()

    if orchestrator is None:
        logger.debug("cli timeout with no orchestrator ?")
        return
    global timeout_stopped
    timeout_stopped = True
    # Stopping agents can be rather long, we need a big timeout !
    logger.debug("stop agent on cli timeout ")
    orchestrator.stop_agents(20)
    logger.debug("stop orchestrator on cli timeout ")
    orchestrator.stop()
    _results("TIMEOUT")
    # sys.exit(0)
    os._exit(2) 
开发者ID:Orange-OpenSource,项目名称:pyDcop,代码行数:24,代码来源:solve.py

示例7: on_timeout

# 需要导入模块: import os [as 别名]
# 或者: from os import _exit [as 别名]
def on_timeout():
    global result, output_file
    global start_t
    duration = time.time() - start_t

    print("TIMEOUT when distributing")
    logger.info("cli timeout when distributing")
    for th in threading.enumerate():
        print(th)
        traceback.print_stack(sys._current_frames()[th.ident])

    result["status"] =  "TIMEOUT"
    result["inputs"]["duration"] = duration

    if output_file is not None:
        with open(output_file, encoding="utf-8", mode="w") as fo:
            fo.write(yaml.dump(result))
    print(yaml.dump(result))

    #os._exit(0)
    sys.exit(0) 
开发者ID:Orange-OpenSource,项目名称:pyDcop,代码行数:23,代码来源:distribute.py

示例8: _got_log

# 需要导入模块: import os [as 别名]
# 或者: from os import _exit [as 别名]
def _got_log(self, event):
        print(event.context, event.category, event.text)
        if event.context.traceId in self.context:
            self.results.add((event.category, event.text))

        if self.expected == self.results:
            print("Got expected messages!")
            self.mdk.stop()
            os._exit(0)  # Some MDK bug or something
        else:
            print("No full results yet, will keep trying: {} != {}".format(
                self.expected, self.results))
            if time.time() - self.start > 60:
                print("Took more than 60 seconds, giving up.")
                self.mdk.stop()
                sys.exit(1) 
开发者ID:datawire,项目名称:mdk,代码行数:18,代码来源:read_logs.py

示例9: fence_shutdown_mysql

# 需要导入模块: import os [as 别名]
# 或者: from os import _exit [as 别名]
def fence_shutdown_mysql(port, dry_run):
    """ Shutdown fenced box

        Args:
         A port for mysql instance
    """
    log.info('checking security group and stop_mysql_fencing file exist')
    if host_utils.get_security_group() == \
            environment_specific.VPC_FENCE_DB_GROUP \
            and not os.path.exists(TOUCH_FOR_NO_STOP_MYSQL_FENCING):
        if dry_run:
            log.info("In dry_run mode: Do Not actually shutdown "
                     "mysql_in_fence, exiting now")
            os._exit(environment_specific.DRY_RUN_EXIT_CODE)
        host_utils.stop_mysql(port)
    else:
        return 
开发者ID:pinterest,项目名称:mysql_utils,代码行数:19,代码来源:fence_shutdown_mysql.py

示例10: parse_body

# 需要导入模块: import os [as 别名]
# 或者: from os import _exit [as 别名]
def parse_body(self, response):		
		global crawl_counter
		try:
			crawl_counter += 1
			if crawl_counter > max_crawl_limit:
				os._exit(0)
			matches = rules.match(data=response.body)
			if matches:
				for match in matches:
					print "[+] URL:", response.request.url, "Matched YARA Rule:", match
					if debug:
						print "[*] Matched body response:", response.body.decode("utf-8")
					txt = "URL: " + response.request.url + " Matched YARA Rule: " + str(match)
					log(txt)
		except Exception as e:
#			if debug:
			print str(e) 
开发者ID:mertsarica,项目名称:hack4career,代码行数:19,代码来源:RedScanner.py

示例11: __exit__

# 需要导入模块: import os [as 别名]
# 或者: from os import _exit [as 别名]
def __exit__(self, *exc_info):
        
        if self.proc is not None:  ## worker 
            exceptOccurred = exc_info[0] is not None ## hit an exception during processing.
                
            try:
                if exceptOccurred:
                    sys.excepthook(*exc_info)
            finally:
                #print os.getpid(), 'exit'
                os._exit(1 if exceptOccurred else 0)
                
        else:  ## parent
            if self.showProgress:
                try:
                    self.progressDlg.__exit__(None, None, None)
                except Exception:
                    pass 
开发者ID:SrikanthVelpuri,项目名称:tf-pose,代码行数:20,代码来源:parallelizer.py

示例12: external_stop

# 需要导入模块: import os [as 别名]
# 或者: from os import _exit [as 别名]
def external_stop(self, force):
        """
        Stop signal by server.
        """

        # only the master processes handles the regular stop signal from the server, sending a SIGINT to
        # all its child (means to us, non-master process)
        if not self.is_master_process():
            if force:
                # make sure even the subprocess dies really on force
                os._exit(1)

            return

        self.logger.warning("Received stop signal by server.")
        if not self.stop_requested_force:
            self.stop_requested_force = force

        raise_sigint() 
开发者ID:aetros,项目名称:aetros-cli,代码行数:21,代码来源:backend.py

示例13: process_request

# 需要导入模块: import os [as 别名]
# 或者: from os import _exit [as 别名]
def process_request(self, request, client_address):
        """Fork a new subprocess to process the request."""
        self.collect_children()
        pid = os.fork()
        if pid:
            # Parent process
            if self.active_children is None:
                self.active_children = []
            self.active_children.append(pid)
            self.close_request(request) #close handle in parent process
            return
        else:
            # Child process.
            # This must never return, hence os._exit()!
            try:
                self.finish_request(request, client_address)
                self.shutdown_request(request)
                os._exit(0)
            except:
                try:
                    self.handle_error(request, client_address)
                    self.shutdown_request(request)
                finally:
                    os._exit(1) 
开发者ID:glmcdona,项目名称:meddle,代码行数:26,代码来源:SocketServer.py

示例14: _spawn_posix

# 需要导入模块: import os [as 别名]
# 或者: from os import _exit [as 别名]
def _spawn_posix(cmd, search_path=1, verbose=0, dry_run=0):
    log.info(' '.join(cmd))
    if dry_run:
        return
    exec_fn = search_path and os.execvp or os.execv
    pid = os.fork()

    if pid == 0:  # in the child
        try:
            exec_fn(cmd[0], cmd)
        except OSError, e:
            sys.stderr.write("unable to execute %s: %s\n" %
                             (cmd[0], e.strerror))
            os._exit(1)

        sys.stderr.write("unable to execute %s for unknown reasons" % cmd[0])
        os._exit(1) 
开发者ID:glmcdona,项目名称:meddle,代码行数:19,代码来源:spawn.py

示例15: process_request

# 需要导入模块: import os [as 别名]
# 或者: from os import _exit [as 别名]
def process_request(self, request, client_address):
        """Fork a new subprocess to process the request."""
        self.collect_children()
        pid = os.fork()
        if pid:
            # Parent process
            if self.active_children is None:
                self.active_children = set()
            self.active_children.add(pid)
            self.close_request(request) #close handle in parent process
            return
        else:
            # Child process.
            # This must never return, hence os._exit()!
            try:
                self.finish_request(request, client_address)
                self.shutdown_request(request)
                os._exit(0)
            except:
                try:
                    self.handle_error(request, client_address)
                    self.shutdown_request(request)
                finally:
                    os._exit(1) 
开发者ID:IronLanguages,项目名称:ironpython2,代码行数:26,代码来源:SocketServer.py


注:本文中的os._exit方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。