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


Python util.isShellBuiltin函数代码示例

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


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

示例1: sendCmd

 def sendCmd( self, *args, **kwargs ):
     """Send a command, followed by a command to echo a sentinel,
        and return without waiting for the command to complete.
        args: command and arguments, or string
        printPid: print command's PID?"""
     assert not self.waiting
     printPid = kwargs.get( 'printPid', True )
     # Allow sendCmd( [ list ] )
     if len( args ) == 1 and type( args[ 0 ] ) is list:
         cmd = args[ 0 ]
     # Allow sendCmd( cmd, arg1, arg2... )
     elif len( args ) > 0:
         cmd = args
     # Convert to string
     if not isinstance( cmd, str ):
         cmd = ' '.join( [ str( c ) for c in cmd ] )
     if not re.search( r'\w', cmd ):
         # Replace empty commands with something harmless
         cmd = 'echo -n'
     self.lastCmd = cmd
     printPid = printPid and not isShellBuiltin( cmd )
     if len( cmd ) > 0 and cmd[ -1 ] == '&':
         # print ^A{pid}\n{sentinel}
         cmd += ' printf "\\001%d\n\\177" $! \n'
     else:
         # print sentinel
         cmd += '; printf "\\177"'
         if printPid and not isShellBuiltin( cmd ):
             cmd = 'mnexec -p ' + cmd
     self.write( cmd + '\n' )
     self.lastPid = None
     self.waiting = True
开发者ID:RimHaw,项目名称:mn-ccnx,代码行数:32,代码来源:node.py

示例2: default

    def default( self, line ):
        """Called on an input line when the command prefix is not recognized.
        Overridden to run shell commands when a node is the first CLI argument.
        Past the first CLI argument, node names are automatically replaced with
        corresponding IP addrs."""

        first, args, line = self.parseline( line )

        if first in self.mn:
            if not args:
                print "*** Enter a command for node: %s <cmd>" % first
                return
            node = self.mn[ first ]
            rest = args.split( ' ' )
            # Substitute IP addresses for node names in command
            # If updateIP() returns None, then use node name
            rest = [ self.mn[ arg ].defaultIntf().updateIP() or arg
                     if arg in self.mn else arg
                     for arg in rest ]
            rest = ' '.join( rest )
            # Run cmd on node:
            builtin = isShellBuiltin( first )
            node.sendCmd( rest, printPid=( not builtin ) )
            self.waitForNode( node )
        else:
            error( '*** Unknown command: %s\n' % line )
开发者ID:ActiveCK,项目名称:mininet,代码行数:26,代码来源:cli.py

示例3: sendCmd

 def sendCmd( self, *args, **kwargs ):
     """Send a command, followed by a command to echo a sentinel,
        and return without waiting for the command to complete.
        args: command and arguments, or string
        printPid: print command's PID?"""
     assert not self.waiting
     printPid = kwargs.get( 'printPid', True )
     if len( args ) > 0:
         cmd = args
     if not isinstance( cmd, str ):
         cmd = ' '.join( cmd )
     if not re.search( r'\w', cmd ):
         # Replace empty commands with something harmless
         cmd = 'echo -n'
     if len( cmd ) > 0 and cmd[ -1 ] == '&':
         separator = '&'
         cmd = cmd[ :-1 ]
     else:
         separator = ';'
         if printPid and not isShellBuiltin( cmd ):
             cmd = 'mnexec -p ' + cmd
     self.write( cmd + separator + ' printf "\\177" \n' )
     self.lastCmd = cmd
     self.lastPid = None
     self.waiting = True
开发者ID:ssujoysaha,项目名称:myfiles,代码行数:25,代码来源:node.py

示例4: default

    def default( self, line ):
        """Called on an input line when the command prefix is not recognized.
        Overridden to run shell commands when a node is the first CLI argument.
        Past the first CLI argument, node names are automatically replaced with
        corresponding IP addrs."""

        first, args, line = self.parseline( line )
        if args and len(args) > 0 and args[ -1 ] == '\n':
            args = args[ :-1 ]
        rest = args.split( ' ' )

        if first in self.nodemap:
            node = self.nodemap[ first ]
            # Substitute IP addresses for node names in command
            for index in range(len(rest)):
                arg = rest[index]
                if arg in self.nodemap:
                    ip = self.nodemap[arg].IP()
                    if not ip:
                        error('%s is an unreachable, detached host\n' % arg)
                        return
                    rest[index] = ip
            #rest = [ self.nodemap[ arg ].IP()
            #        if arg in self.nodemap else arg
            #        for arg in rest ]
            rest = ' '.join( rest )
            # Run cmd on node:
            builtin = isShellBuiltin( first )
            node.sendCmd( rest, printPid=( not builtin ) )
            self.waitForNode( node )
        else:
            error( '*** Unknown command: %s\n' % first )
开发者ID:sandeephebbani,项目名称:mininet,代码行数:32,代码来源:cli.py

示例5: default

    def default( self, line ):
        """Called on an input line when the command prefix is not recognized.
        Overridden to run shell commands when a component is the first CLI
        argument. Past the first CLI argument, component names are then
        automatically replaced with corresponding node IP addrs."""

        first, args, line = self.parseline( line )
        if not args:
            return
        if args and len(args) > 0 and args[ -1 ] == '\n':
            args = args[ :-1 ]
        rest = args.split( ' ' )

        if first in self.cn:
            comp = self.cn[ first ]
            # Substitute IP addresses for node names in command
            rest = [ self.cn[ arg ].node.defaultIntf().updateIP()
                     if arg in self.cn else arg
                     for arg in rest ]
            rest = ' '.join( rest )
            # Run cmd on node:
            builtin = isShellBuiltin( first )
            comp.node.sendCmd( rest, printPid=( not builtin ) )
            self.waitForNode( comp.node )
        else:
            error( '*** Unknown command: %s\n' % first )
开发者ID:eternia478,项目名称:mininetcetera_public,代码行数:26,代码来源:cms_cli.py

示例6: sendCmd

 def sendCmd(self, *args, **kwargs):
     """Send a command, followed by a command to echo a sentinel,
        and return without waiting for the command to complete.
        args: command and arguments, or string
        printPid: print command's PID? (False)"""
     assert self.shell and not self.waiting
     printPid = kwargs.get('printPid', False)
     # Allow sendCmd( [ list ] )
     if len(args) == 1 and isinstance(args[ 0 ], list):
         cmd = args[ 0 ]
     # Allow sendCmd( cmd, arg1, arg2... )
     elif len(args) > 0:
         cmd = args
     # Convert to string
     if not isinstance(cmd, str):
         cmd = ' '.join([ str(c) for c in cmd ])
     if not re.search(r'\w', cmd):
         # Replace empty commands with something harmless
         cmd = 'echo -n'
     self.lastCmd = cmd
     # if a builtin command is backgrounded, it still yields a PID
     if len(cmd) > 0 and cmd[ -1 ] == '&':
         # print ^A{pid}\n so monitor() can set lastPid
         cmd += ' printf "\\001%d\\012" $! '
     elif printPid and not isShellBuiltin(cmd):
         cmd = 'mnexec -p ' + cmd
     self.write(cmd + '\n')
     self.lastPid = None
     self.waiting = True
开发者ID:intrig-unicamp,项目名称:mininet-wifi,代码行数:29,代码来源:node.py

示例7: sendCmd

 def sendCmd( self, *args, **kwargs ):
     assert self.shell and not self.waiting
     printPid = kwargs.get( 'printPid', True )
     # Allow sendCmd( [ list ] )
     if len( args ) == 1 and isinstance( args[ 0 ], list ):
         cmd = args[ 0 ]
     # Allow sendCmd( cmd, arg1, arg2... )
     elif len( args ) > 0:
         cmd = args
     # Convert to string
     if not isinstance( cmd, str ):
         cmd = ' '.join( [ str( c ) for c in cmd ] )
     if not re.search( r'\w', cmd ):
         # Replace empty commands with something harmless
         cmd = 'echo -n'
     self.lastCmd = cmd
     printPid = printPid and not isShellBuiltin( cmd )
     if len( cmd ) > 0 and cmd[ -1 ] == '&':
         # print ^A{pid}\n{sentinel}
         cmd += ' printf "\\001%d\\012" $! '
     else:
         pass
     self.write( cmd + '\n' )
     self.lastPid = None
     self.waiting = True
开发者ID:25dedezembro,项目名称:p4factory,代码行数:25,代码来源:docker_node.py

示例8: sendCmd

 def sendCmd( self, *args, **kwargs ):
     assert not self.waiting
     printPid = kwargs.get( 'printPid', True )
     if len( args ) == 1 and type( args[ 0 ] ) is list:
         cmd = args[ 0 ]
     elif len( args ) > 0:
         cmd = args
     if not isinstance( cmd, str ):
         cmd = ' '.join( [ str( c ) for c in cmd ] )
     if not re.search( r'\w', cmd ):
         cmd = 'echo -n'
     self.lastCmd = cmd
     printPid = printPid and not isShellBuiltin( cmd )
     if len( cmd ) > 0 and cmd[ -1 ] == '&':
         cmd += ' printf "\\001%d\n\\177" $! \n'
     else:
         cmd += '; printf "\\177"'
     self.write( cmd + '\n' )
     self.lastPid = None
     self.waiting = True
开发者ID:thomasameisel,项目名称:cloud-computing,代码行数:20,代码来源:networking_application.py

示例9: sendCmd

 def sendCmd( self, *args, **kwargs ):
     """Send a command, and return without waiting for the command
        to complete.
        args: command and arguments, or string
        printPid: print command's PID?"""
     assert not self.waiting
     self.serial += 1
     self.write( 'echo __   %s   __\n' % self.serial )
     match = '__ %s __' % self.serial
     buf = ''
     while True:
         i = buf.find( match )
         if i >= 0:
             buf = buf[ i + len( match ): ]
             break
         buf += self.read( 1024 )
     while True:
         if chr( 127 ) in buf:
             break
         buf += self.read( 1024 )
     printPid = kwargs.get( 'printPid', True )
     if len( args ) > 0:
         cmd = args
     if not isinstance( cmd, str ):
         cmd = ' '.join( cmd )
     if not re.search( r'\w', cmd ):
         # Replace empty commands with something harmless
         cmd = 'echo -n'
     if printPid and not isShellBuiltin( cmd ):
         use_mnexec = kwargs.get( 'mn_use_mnexec', True)
         if use_mnexec:
             cmd = 'mnexec -p ' + cmd
         disable_io_buf = kwargs.get( 'mn_disable_io_buf', False)
         if disable_io_buf:
             cmd = 'stdbuf -i0 -o0 -e0 ' + cmd
     self.write( cmd + '\n' )
     wait_flag = kwargs.get( 'mn_wait', True)
     if wait_flag:
         self.lastCmd = cmd
         self.lastPid = None
         self.waiting = True
开发者ID:sandeephebbani,项目名称:mininet,代码行数:41,代码来源:node.py

示例10: default

    def default(self, line):
        """Called on an input line when the command prefix is not recognized.
        Overridden to run shell commands when a node is the first CLI argument.
        Past the first CLI argument, node names are automatically replaced with
        corresponding IP addrs."""

        first, args, line = self.parseline(line)
        if args and len(args) > 0 and args[-1] == "\n":
            args = args[:-1]
        rest = args.split(" ")

        if first in self.nodemap:
            node = self.nodemap[first]
            # Substitute IP addresses for node names in command
            rest = [self.nodemap[arg].IP() if arg in self.nodemap else arg for arg in rest]
            rest = " ".join(rest)
            # Run cmd on node:
            builtin = isShellBuiltin(first)
            node.sendCmd(rest, printPid=(not builtin))
            self.waitForNode(node)
        else:
            error("*** Unknown command: %s\n" % first)
开发者ID:09zwcbupt,项目名称:mininet,代码行数:22,代码来源:cli.py


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