Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.python > #98593
| Newsgroups | comp.lang.python |
|---|---|
| Date | 2015-11-10 04:22 -0800 |
| References | <c0f3d85c-d801-4106-9e1c-a84a2c077a4d@googlegroups.com> |
| Message-ID | <b92b602e-2a46-4c44-837f-9b7a97e7c28c@googlegroups.com> (permalink) |
| Subject | Re: help in pexpect multiprocessing |
| From | harirammanohar159@gmail.com |
On Monday, 9 November 2015 18:07:36 UTC+5:30, hariramm...@gmail.com wrote:
> 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
Hi,
I am able to manage it by using process queues, thank you
Back to comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll 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