Esempio n. 1
0
 def parseArg(self, prog_args):
     """Parse signal and co."""
     PExec.parseArg(self, prog_args)
     # Parse signal list
     i = 0
     try:
         while i < len(self.cmd_args):
             arg = self.cmd_args[i]
             if arg[0] == '-':
                 if arg[1:] == 's':
                     self.sig_opt = self.sig_opt + '-s ' + self.cmd_args[
                         i + 1] + ' '
                     i = i + 2
                 elif int(arg[1:]) > 0:
                     self.sig_opt = self.sig_opt + arg + ' '
                     i = i + 1
                 else:
                     raise InvalArg, ('invalid option', arg)
             else:
                 self.search_spec.append(arg)
                 i = i + 1
     except IndexError:
         raise InvalArg, ('missing argument', self.cmd_args[i])
     if not self.search_spec:
         raise InvalArg, 'missing search spec'
Esempio n. 2
0
 def parseArg(self, prog_args):
     """Add command to the tail of test command"""
     PExec.parseArg(self, prog_args)
     parser = optparse.OptionParser(usage='Usage: %prog [options]')
     parser.add_option('-n',
                       '--number',
                       dest='number',
                       action='store_true',
                       default=False,
                       help='print number of host')
     self.options, self.args = parser.parse_args(prog_args)
Esempio n. 3
0
    def launch(self, out=None, err=None):
        import tempfile, os

        out = tempfile.mktemp()
        err = tempfile.mktemp()
        outf = open(out, 'w')
        errf = open(err, 'w')
        retval = PExec.launch(self, outf, errf)
        outf.close()
        errf.close()
        if not retval == 0: return retval

        if os.stat(err)[ST_SIZE] > 0:
            import sys
            f = open(err, 'r')
            lines = f.readlines()
            for line in lines:
                sys.stderr.write(line)
            f.close()
            return -1
        else:
            f = open(out, 'r')
            lines = f.readlines()
            import string
            retval = 0
            for line in lines:
                line = string.strip(line)
                host, exit_stat = string.split(line, ':', 1)
                if not int(exit_stat):
                    retval = 1
                    break
            f.close()
            return retval
Esempio n. 4
0
    def parseArg(self, prog_args) :
        "Parse additional argument for pdist command"
        PExec.parseArg(self, prog_args)

        i = 0

        import getopt
        optlist, args = getopt.getopt(self.cmd_args, 'rpv')
        # getopt.getopt will raise proper exception when
        # unknown exception occur
        for opt in optlist :
            if opt[0] == '-r' :
                self.copy_flag = self.copy_flag | Rdup.RECURSIVE
            elif opt[0] == '-p' :
                self.copy_flag = self.copy_flag | Rdup.PRESERVE_PERM
            elif opt[0] == '-v' :
                self.copy_flag = self.copy_flag | Rdup.VERBOSE
                
        # Only real command left
        if len(args) < 2 :
            raise InvalArg, 'missing destination'
        self.dest = args.pop(len(args) - 1)
        self.source = args
Esempio n. 5
0
 def __init__(self, prog_args) :
     self.args = []
     self.source = []
     self.dest = None
     self.copy_flag = 0x0
     PExec.__init__(self, None, prog_args)
Esempio n. 6
0
 def parseArg(self, prog_args):
     """Add command to the tail of test command"""
     PExec.parseArg(self, prog_args)
     self.cmd_args = ['if', 'test'] + self.cmd_args + [
         ';', 'then', 'echo 1;', 'else', 'echo 0;', 'fi'
     ]
Esempio n. 7
0
 def __init__(self, prog_args):
     PExec.__init__(self, None, prog_args)
Esempio n. 8
0
 def launch(self, out=None, err=None):
     import os
     return PExec.launch(self)
Esempio n. 9
0
 def __init__(self, prog_args):
     """Init pkill"""
     self.sig_opt = ''
     self.search_spec = []
     self.ps_opt = None
     PExec.__init__(self, None, prog_args)
Esempio n. 10
0
 def launch(self, out=None, err=None):
     print "HOST\t\tUSER       PID %CPU %MEM   VSZ  RSS TTY      STAT START   TIME COMMAND"
     return PExec.launch(self)
Esempio n. 11
0
 def parseArg(self, prog_args):
     PExec.parseArg(self, prog_args)
     for i in range(len(self.cmd_args)):
         self.cmd_args[i] = '-C ' + self.cmd_args[i]
     self.cmd_args.append('--no-header')
     self.cmd_args.append('ux')
Esempio n. 12
0
 def __init__(self, prog_args):
     PExec.__init__(self, 'ps', prog_args)