On Thu, May 28, 2009 at 9:11 AM, Sean DiZazzo <half.ital...@gmail.com>wrote:
> On May 27, 6:10 pm, thebiggestbangthe...@gmail.com wrote: > > hello everyone :-), > > I am a newbie to python. I am trying to run a > > bash script from within a python program. I would greatly appreciate > > any pointers/comments about how to get around the problem I am facing. > > > > I want to run bash script: code.sh from within a python program. > > code.sh needs to be run like so from the command line > > [code] > > $ sudo code.sh arg1 arg2 > > [/code] > > > > I read up on some documentation but am not very clear about how to use > > popen. I want to relegate the shell to a background process, but it > > needs to accept the sudo passwd too! > > > > I have tried > > [code] > > p = subprocess.Popen(['/bin/bash', 'sudo '+mypath+'code.sh '+arg1+' > > '+arg2], > > stdout=subprocess.PIPE, > > stderr=subprocess.STDOUT) > > [/code] > > I tried some code from stackoverflow.com/questions/694000/why-doesnt- > > subprocess-popen-always-return > > > > nothing really happens when this executes, the PIPE option pshes it to > > the background and I can't push in the sudo passwd. Can someone please > > give me an idea of how to go about this. > > > > To recap, I want to run a shell script, which needs to be started with > > sudo, and then push it into the background. > > > > Thanks, > > -A > > Your best bet is to make sudo not ask for a password. :) If you > don't have the rights, then you can use pexpect to do what you want to > do. http://pexpect.sourceforge.net/pexpect.html > Whoah there. Pexpect, yes. Making sudo not ask for a password? Only if you tell sudo to only not ask for a password for _this_ file. Telling sudo to not require a password at all is asking for trouble. Also, modifying sudo to allow this script to run without a password would require that to be done on every machine that the OP wants to run on. OP: use pexpect.
-- http://mail.python.org/mailman/listinfo/python-list