• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Python posix._exit函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Python中posix._exit函数的典型用法代码示例。如果您正苦于以下问题:Python _exit函数的具体用法?Python _exit怎么用?Python _exit使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: _spawnvef

 def _spawnvef(mode, file, args, env, func):
     # Internal helper; func is the exec*() function to use
     pid = fork()
     if not pid:
         # Child
         try:
             if env is None:
                 func(file, args)
             else:
                 func(file, args, env)
         except:
             _exit(127)
     else:
         # Parent
         if mode == P_NOWAIT:
             return pid # Caller is responsible for waiting!
         while 1:
             wpid, sts = waitpid(pid, 0)
             if WIFSTOPPED(sts):
                 continue
             elif WIFSIGNALED(sts):
                 return -WTERMSIG(sts)
             elif WIFEXITED(sts):
                 return WEXITSTATUS(sts)
             else:
                 raise error, "Not stopped, signaled or exited???"
开发者ID:develersrl,项目名称:dspython,代码行数:26,代码来源:os.py


示例2: _spawnvef

    def _spawnvef(mode, file, args, env, func):
        pid = fork()
        if not pid:
            try:
                if env is None:
                    func(file, args)
                else:
                    func(file, args, env)
            except:
                _exit(127)

        else:
            if mode == P_NOWAIT:
                return pid
            while 1:
                wpid, sts = waitpid(pid, 0)
                if WIFSTOPPED(sts):
                    continue
                else:
                    if WIFSIGNALED(sts):
                        return -WTERMSIG(sts)
                    if WIFEXITED(sts):
                        return WEXITSTATUS(sts)
                    raise error, 'Not stopped, signaled or exited???'

        return
开发者ID:webiumsk,项目名称:WOT-0.9.12-CT,代码行数:26,代码来源:os.py


示例3: _spawnvef

 def _spawnvef(mode, file, args, env, func):
     # Internal helper; func is the exec*() function to use
     if not isinstance(args, (tuple, list)):
         raise TypeError('argv must be a tuple or a list')
     if not args or not args[0]:
         raise ValueError('argv first element cannot be empty')
     pid = fork()
     if not pid:
         # Child
         try:
             if env is None:
                 func(file, args)
             else:
                 func(file, args, env)
         except:
             _exit(127)
     else:
         # Parent
         if mode == P_NOWAIT:
             return pid # Caller is responsible for waiting!
         while 1:
             wpid, sts = waitpid(pid, 0)
             if WIFSTOPPED(sts):
                 continue
             elif WIFSIGNALED(sts):
                 return -WTERMSIG(sts)
             elif WIFEXITED(sts):
                 return WEXITSTATUS(sts)
             else:
                 raise OSError("Not stopped, signaled or exited???")
开发者ID:Daetalus,项目名称:cpython,代码行数:30,代码来源:os.py


示例4: ioloop1

def ioloop1(s, otheraddr):
	#
	# Watch out! data is in bytes, but the port counts in samples,
	# which are two bytes each (for 16-bit samples).
	# Luckily, we use mono, else it would be worse (2 samples/frame...)
	#
	SAMPSPERBUF = 500
	BYTESPERSAMP = 2 # AL.SAMPLE_16
	BUFSIZE = BYTESPERSAMP*SAMPSPERBUF
	QSIZE = 4*SAMPSPERBUF
	#
	config = al.newconfig()
	config.setqueuesize(QSIZE)
	config.setwidth(AL.SAMPLE_16)
	config.setchannels(AL.MONO)
	#
	pid = posix.fork()
	if pid:
		# Parent -- speaker/headphones handler
		log('parent started')
		spkr = al.openport('spkr', 'w', config)
		while 1:
			data = s.recv(BUFSIZE)
			if len(data) == 0:
				# EOF packet
				log('parent got empty packet; killing child')
				posix.kill(pid, 15)
				return
			# Discard whole packet if we are too much behind
			if spkr.getfillable() > len(data) / BYTESPERSAMP:
				if len(debug) >= 2:
					log('parent Q full; dropping packet')
				spkr.writesamps(data)
	else:
		# Child -- microphone handler
		log('child started')
		try:
		    try:
			    mike = al.openport('mike', 'r', config)
			    # Sleep a while to let the other side get started
			    time.sleep(1)
			    # Drain the queue before starting to read
			    data = mike.readsamps(mike.getfilled())
			    # Loop, sending packets from the mike to the net
			    while 1:
				    data = mike.readsamps(SAMPSPERBUF)
				    s.sendto(data, otheraddr)
		    except KeyboardInterrupt:
			    log('child got interrupt; exiting')
			    posix._exit(0)
		    except error:
			    log('child got error; exiting')
			    posix._exit(1)
		finally:
			log('child got unexpected error; leaving w/ traceback')
开发者ID:Claruarius,项目名称:stblinux-2.6.37,代码行数:55,代码来源:intercom.py


示例5: main

def main():
    hash(MAGIC + 1)

    s = socket(AF_INET, SOCK_STREAM)
    s.connect((b'127.0.0.1', 8001))
    data = b''
    while b'\r\n\r\n' not in data:
        data += s.recv(8192)
    heading, content = data.split(b'\r\n\r\n', 1)
    lines = heading.splitlines()
    version, status, text = lines[0].split()
    headers = dict(line.split(b': ', 1) for line in lines[1:])

    hash(MAGIC + 2)
    posix._exit(42)

    print(headers)
开发者ID:brandon-rhodes,项目名称:trace-memory-access,代码行数:17,代码来源:target.py


示例6: gethostbyaddr

def gethostbyaddr( ip, timeout = 5, default = "<???>" ):

    try:
        return Cache[ip]
    except LookupError:
        pass
    
    host = default
    ( pin, pout ) = os.pipe()

    pid = os.fork()
    
    if not pid:
        # Child
        os.close( pin )
        try:
            host = socket.gethostbyaddr( ip )[0]
        except socket.herror:
            pass
        os.write( pout, host )
        posix._exit(127)
        
    #Parent 
    os.close( pout )
    
    signal.signal( signal.SIGALRM, lambda sig, frame: os.kill( pid, signal.SIGKILL ) )
    signal.alarm( timeout )

    try:
        os.waitpid( pid, 0 )
        host = os.read( pin, 8192 )
    except OSError:
        pass

    signal.alarm( 0 )
    
    os.close( pin )
    
    Cache[ip] = host;
    
    return host
开发者ID:dakrone,项目名称:nsm-console,代码行数:41,代码来源:trace-summary.py


示例7: parse_command_line

def parse_command_line():
    action_keys = { 'install'   : True,
                    'start'     : True,
                    'stop'      : True,
                    'uninstall' : True }

    argv0Dir = os.path.dirname(sys.argv[0])

    defaultConfig = os.path.join(argv0Dir, 'sample_setup.cfg')
    defaultConfig = os.path.abspath(defaultConfig)

    defaultSrcDir = os.path.join(argv0Dir, '../..')
    defaultSrcDir = os.path.abspath(defaultSrcDir)

    defaultRelDir = os.path.join(argv0Dir, '../../build/release')
    defaultRelDir = os.path.abspath(defaultRelDir)

    if not os.path.exists(defaultRelDir):
        defaultRelDir = os.path.join(argv0Dir, '../..')
        defaultRelDir = os.path.abspath(defaultRelDir)

    formatter = IndentedHelpFormatter(max_help_position=50, width=120)
    usage = "usage: ./%prog [options] -a <ACTION>"
    parser = OptionParser(usage, formatter=formatter, add_help_option=False)

    parser.add_option('-c', '--config-file', action='store',
        default=defaultConfig, metavar='FILE', help='Setup config file.')

    parser.add_option('-a', '--action', action='store', default=None,
        metavar='ACTION', help='One of install, uninstall, or stop.')

    parser.add_option('-r', '--release-dir', action='store',
        default=defaultRelDir, metavar='DIR', help='QFS release directory.')

    parser.add_option('-s', '--source-dir', action='store',
        default=defaultSrcDir, metavar='DIR', help='QFS source directory.')

    parser.add_option('-h', '--help', action='store_true',
        help="Print this help message and exit.")

    actions = """
Actions:
  install   = setup meta and chunk server directories, restarting/starting them
  start     = start meta and chunk servers
  stop      = stop meta and chunk servers
  uninstall = remove meta and chunk server directories after stopping them"""

    sampleSession = """
Hello World example of a client session:
  # Install sample server setup, only needed once.
  ./examples/sampleservers/sample_setup.py -a install
  PATH=<bin-tools-path>:${PATH}
  # Make temp directory.
  qfsshell -s localhost -p 20000 -q -- mkdir /qfs/tmp
  # Create file containing Hello World, Reed-Solomon encoded, replication 1.
  echo 'Hello World' \
    | cptoqfs -s localhost -p 20000 -S -r 1 -k /qfs/tmp/helloworld -d -
  # Cat file content.
  qfscat -s localhost -p 20000 /qfs/tmp/helloworld
  # Stat file to see encoding (RS or not), replication level, mtime.
  qfsshell -s localhost -p 20000 -q -- stat /qfs/tmp/helloworld
  # Copy file locally to current directory.
  cpfromqfs -s localhost -p 20000 -k /qfs/tmp/helloworld -d ./helloworld
  # Remove file from QFS.
  qfsshell -s localhost -p 20000 -q -- rm /qfs/tmp/helloworld
  # Stop the server and remove the custom install.
  ./examples/sampleservers/sample_setup.py -a stop
  ./examples/sampleservers/sample_setup.py -a uninstall
"""

    # An install sets up all config files and (re)starts the servers.
    # An uninstall stops the servers and removes the config files.
    # A stop stops the servers.
    opts, args = parser.parse_args()

    if opts.help:
        parser.print_help()
        print actions
        print sampleSession
        print
        posix._exit(0)

    e = []
    if not os.path.isfile(opts.config_file):
        e.append("specified 'config-file' does not exist: %s"
                 % opts.config_file)

    if not opts.action:
        e.append("'action' must be specified")
    elif not action_keys.has_key(opts.action):
        e.append("invalid 'action' specified: %s" % opts.action)

    if not os.path.isdir(opts.release_dir):
        e.append("specified 'release-dir' does not exist: %s"
                 % opts.release_dir)

    if not os.path.isdir(opts.source_dir):
        e.append("specified 'source-dir' does not exist: %s" % opts.source_dir)

    if len(e) > 0:
#.........这里部分代码省略.........
开发者ID:Quenii,项目名称:qfs,代码行数:101,代码来源:sample_setup.py


示例8: parse_command_line

def parse_command_line():
    action_keys = {"install": True, "start": True, "stop": True, "uninstall": True}

    argv0Dir = os.path.dirname(sys.argv[0])

    defaultConfig = os.path.join(argv0Dir, "sample_setup.cfg")
    defaultConfig = os.path.abspath(defaultConfig)

    defaultSrcDir = os.path.join(argv0Dir, "../..")
    defaultSrcDir = os.path.abspath(defaultSrcDir)

    defaultRelDir = os.path.join(argv0Dir, "../../build/release")
    defaultRelDir = os.path.abspath(defaultRelDir)

    if not os.path.exists(defaultRelDir):
        defaultRelDir = os.path.join(argv0Dir, "../..")
        defaultRelDir = os.path.abspath(defaultRelDir)

    formatter = IndentedHelpFormatter(max_help_position=50, width=120)
    usage = "usage: ./%prog [options] -a <ACTION>"
    parser = OptionParser(usage, formatter=formatter, add_help_option=False)

    parser.add_option(
        "-c", "--config-file", action="store", default=defaultConfig, metavar="FILE", help="Setup config file."
    )

    parser.add_option(
        "-a", "--action", action="store", default=None, metavar="ACTION", help="One of install, uninstall, or stop."
    )

    parser.add_option(
        "-r", "--release-dir", action="store", default=defaultRelDir, metavar="DIR", help="QFS release directory."
    )

    parser.add_option(
        "-s", "--source-dir", action="store", default=defaultSrcDir, metavar="DIR", help="QFS source directory."
    )

    parser.add_option("-h", "--help", action="store_true", help="Print this help message and exit.")

    actions = """
Actions:
  install   = setup meta and chunk server directories, restarting/starting them
  start     = start meta and chunk servers
  stop      = stop meta and chunk servers
  uninstall = remove meta and chunk server directories after stopping them"""

    sampleSession = """
Hello World example of a client session:
  # Install sample server setup, only needed once.
  ./examples/sampleservers/sample_setup.py -a install
  PATH=<bin-tools-path>:${PATH}
  # Make temp directory.
  qfsshell -s localhost -p 20000 -q -- mkdir /qfs/tmp
  # Create file containing Hello World, Reed-Solomon encoded, replication 1.
  echo 'Hello World' \
    | cptoqfs -s localhost -p 20000 -S -r 1 -k /qfs/tmp/helloworld -d -
  # Cat file content.
  qfscat -s localhost -p 20000 /qfs/tmp/helloworld
  # Stat file to see encoding (RS or not), replication level, mtime.
  qfsshell -s localhost -p 20000 -q -- stat /qfs/tmp/helloworld
  # Copy file locally to current directory.
  cpfromqfs -s localhost -p 20000 -k /qfs/tmp/helloworld -d ./helloworld
  # Remove file from QFS.
  qfsshell -s localhost -p 20000 -q -- rm /qfs/tmp/helloworld
  # Stop the server and remove the custom install.
  ./examples/sampleservers/sample_setup.py -a stop
  ./examples/sampleservers/sample_setup.py -a uninstall

Use qfs to manipulate files the same way you would use 'hadoop fs':
  # Set qfs command alias.
  alias qfs='<QFS_INSTALL_PATH>/bin/tools/qfs \
      -cfg ./examples/sampleservers/sample_qfs_tool.cfg'

  qfs -h
  qfs -stat /
  qfs -mkdir /some-dir
  qfs -ls /

  Did you notice how fast it is? :)
"""

    # An install sets up all config files and (re)starts the servers.
    # An uninstall stops the servers and removes the config files.
    # A stop stops the servers.
    opts, args = parser.parse_args()

    if opts.help:
        parser.print_help()
        print actions
        print sampleSession
        print
        posix._exit(0)

    e = []
    if not os.path.isfile(opts.config_file):
        e.append("specified 'config-file' does not exist: %s" % opts.config_file)

    if not opts.action:
        e.append("'action' must be specified")
#.........这里部分代码省略.........
开发者ID:inthecloud247,项目名称:qfs,代码行数:101,代码来源:sample_setup.py


示例9:

# intercom -- use mike and headset to *talk* to a person on another host.
开发者ID:mcyril,项目名称:ravel-ftn,代码行数:1,代码来源:intercom.py



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Python posix.close函数代码示例发布时间:2022-05-25
下一篇:
Python models.PositionEnteredManager类代码示例发布时间:2022-05-25
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap