Hello guest, if you read this it means you are not registered. Click here to register in a few simple steps, you will enjoy all features of our Forum.
Bottom Page

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
How to answer subprocess prompt
#1
When I run: python3.5 script.py
Which has:
process = Popen(['command args more args'], stdin=PIPE, stdout=PIPE, shell=True)
The command will prompt me to respond in Y or N with enter continue from a previous session.
This is something that I would respond Y enter
But I am unable to figure out how to respond to it
I have tried
yes = str("Y")
ayes = bytes(yes, 'utf-8')
process.communicate(ayes) #didn't bring even the Y into the console prompt

I've tried
process.communicate('Y\n') #TypeError: memoryview: a bytes-like object is required, not 'str'

and quite a lot of combinations, but I can't seem to get it to work. The machine is running linux with python3.5

I have no idea how to resolve it, even if I type Y manually into the console then it would say: "bash: y: command not found"
Quote
#2
Which command do you run in subprocess? Usually, the programmes asking you y/n have an option -y. You can just add it to the parameters when you call it.
Skaperen likes this post
"As they say in Mexico 'dosvidaniya'. That makes two vidaniyas."
https://freedns.afraid.org
Quote
#3
reaver

The prompt only appears second after I have run the command so I am unable to answer 'y' with the beginning argument
Quote
#4
Post the command, please! What it asks for?
"As they say in Mexico 'dosvidaniya'. That makes two vidaniyas."
https://freedns.afraid.org
Quote
#5
(Feb-11-2018, 09:49 PM)Monty Wrote: I've tried
process.communicate('Y\n') #TypeError: memoryview: a bytes-like object is required, not 'str'


A bytes-like object can be created by putting a b in front of your string. Have you tried: process.communicate(b'Y\n')?
It's dangerous to go alone!  Take this: https://docs.python.org/3/library/index.html
Kevin Flynn is my spirit animal.
Quote
#6
(Feb-13-2018, 05:18 PM)wavic Wrote: Post the command, please! What it asks for?

process = Popen(['reaver -i wlan1mon -b my:ap:ma:ca:dr:es'], stdin=PIPE, stdout=PIPE, shell=True)
after this is run the console prompts: "Restore previous session for my:ap:ma:ca:dr:es? [n/Y]


(Feb-13-2018, 05:37 PM)nilamo Wrote:
(Feb-11-2018, 09:49 PM)Monty Wrote: I've tried
process.communicate('Y\n') #TypeError: memoryview: a bytes-like object is required, not 'str'


A bytes-like object can be created by putting a b in front of your string. Have you tried: process.communicate(b'Y\n')?

I did try process.communicate(b'Y\n')
But it doesn't run it. I'm guessing it gets stuck on that line when it prompts to continue, if that is the case then the subprocess line would never get completed. Perhaps I need another script to answer to this prompt?

Perhaps I could work-around this by creating a bash script to run a python file with only that line in the background and in the next line it would communicate to that stuck line. Seems like a stupid idea though, there must be a better way.
Quote
#7
Well, -a flag was removed from the program arguments. There is a discussion to add -y flag but appears that that isn't done yet. One option is to use -s /usr/local/etc/reaver/<BSSID>.wpc option where <BSSID>.wpc is the session file.

https://github.com/shift/reaver-wps/issues/234

By the way, see this: https://stackoverflow.com/questions/1635...n-argument
"As they say in Mexico 'dosvidaniya'. That makes two vidaniyas."
https://freedns.afraid.org
Quote
#8
(Feb-13-2018, 06:29 PM)wavic Wrote: Well, -a flag was removed from the program arguments. There is a discussion to add -y flag but appears that that isn't done yet. One option is to use -s /usr/local/etc/reaver/<BSSID>.wpc option where <BSSID>.wpc is the session file.

https://github.com/shift/reaver-wps/issues/234

By the way, see this: https://stackoverflow.com/questions/1635...n-argument

Thank you sir. That worked.

I'm still curious on how I could run processes simultaneously and make them communicate.
Quote
#9
Probably socket interprocess communication: https://docs.python.org/3/library/ipc.html

Or by pyzmq.
"As they say in Mexico 'dosvidaniya'. That makes two vidaniyas."
https://freedns.afraid.org
Quote

Top Page

Possibly Related Threads...
Thread Author Replies Views Last Post
  Please help me condense this requests snippet, and answer a basic question league55 2 68 Jan-28-2018, 02:26 PM
Last Post: snippsat
  [SOLVED]passing a lot of information to subprocess.call() Barrowman 11 249 Jan-27-2018, 05:03 PM
Last Post: buran
  How to get the program's pid which is running with subprocess module? purecode 1 119 Jan-24-2018, 04:22 AM
Last Post: wavic
  timeout value in subprocess jonesin1974 2 170 Dec-01-2017, 02:18 PM
Last Post: snippsat
  Can't get call or subprocess functions to use space in path. jonesin1974 2 164 Nov-30-2017, 01:51 PM
Last Post: jonesin1974
  How to call subprocess after for loop viru 0 227 Nov-06-2017, 07:45 PM
Last Post: viru
  robobrowser, answer authentication-challenge after login shiny 0 337 Oct-26-2017, 06:48 AM
Last Post: shiny
  subprocess with args haye 0 238 Oct-23-2017, 10:54 AM
Last Post: haye
  subprocess.Popen parameter bufsize issue streetpywinder 3 291 Oct-22-2017, 08:48 AM
Last Post: streetpywinder
  Number of cmds inside subprocess pannis 5 241 Sep-26-2017, 07:18 PM
Last Post: nilamo

Forum Jump:


Users browsing this thread: 1 Guest(s)