Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #98516

help in pexpect multiprocessing

Newsgroups comp.lang.python
Date 2015-11-09 04:37 -0800
Message-ID <c0f3d85c-d801-4106-9e1c-a84a2c077a4d@googlegroups.com> (permalink)
Subject help in pexpect multiprocessing
From harirammanohar159@gmail.com

Show all headers | View raw


Hi,

I am using multiprocessing with pexpect, issue is whenever i call a function which is having expect(), its throwing error which is genuine as multiple threads are processing it same time (i/o prompt same time by multiple processes..so issues in picture...), so i want to use lock for that section alone to avoid it, but still fails in implementing it...can you help me

username = input('Enter your username: ')
password = getpass.getpass()

s = pxssh.pxssh()
s.login ('host','username','password')
s.sendline ('ps -ef|grep java')
s.prompt(timeout=1)

Try 1:

if condition == 'met':
       np = len(list1)
       p = multiprocessing.Pool(np)
       p.map(stop, [(ds) for ds in list1])

def stop(ds):
        s.sendline ('cd /usr')
        if condition:
                lock = threading.Lock()
                lock.acquire()
                s.expect('Enter username:')
                s.sendline ('user')
                s.expect('Enter password:*')
                s.sendline('pass')
                lock.release()
        s.prompt(timeout=200)
        print('stopped ds...')

Try 2:

if condition == 'met':
        lock = Lock()
        for ds in list1:
                Process(target=stop, args=(ds,lock)).start()

def stop(ds,l):
        s.sendline ('cd /usr')
        if condition:
                l.acquire()
                s.expect('Enter username:')
                s.sendline ('user')
                s.expect('Enter password:*')
                s.sendline('pass')
                l.release()
        s.prompt(timeout=200)
        print('stopped ds...')

Both are giving me same trace..

pexpect.ExceptionPexpect: isalive() encountered condition where "terminated" is 0, but there was no child process. Did someone else call waitpid() on our process?

Thanks in Advance

Back to comp.lang.python | Previous | NextNext in thread | Find similar | Unroll thread


Thread

help in pexpect multiprocessing harirammanohar159@gmail.com - 2015-11-09 04:37 -0800
  Re: help in pexpect multiprocessing harirammanohar159@gmail.com - 2015-11-10 02:16 -0800
  Re: help in pexpect multiprocessing harirammanohar159@gmail.com - 2015-11-10 04:22 -0800
  Re: help in pexpect multiprocessing Pablo Lucena <plucena24@gmail.com> - 2015-11-10 07:42 -0500
  Re: help in pexpect multiprocessing harirammanohar159@gmail.com - 2015-11-16 03:40 -0800

csiph-web