Yes it was pasted wrong...

    def umount(self):
        '''unmounts VirtualDVD'''
        cmd = 'gksudo umount VirtualDVD'
proc = subprocess.Popen(str(cmd), shell=True, stdout=subprocess.PIPE).stdout.read()
        print proc

it fails silently.... the gksudo runs correctly. I can input the password.

But the umount does nothing. I keep have mounted the VirtualDVD folder.


On 10/28/2016 12:54 AM, Ian Kelly wrote:
On Thu, Oct 27, 2016 at 3:30 PM, Demosthenes Koptsis
<demosthen...@gmail.com> wrote:
I want to execute the command "gksudo umount VirtualDVD"

My code is this but it fails:

def umount(self):
     '''unmounts VirtualDVD''' cmd ='gksudo umount VirtualDVD' proc =
subprocess.Popen(str(cmd),shell=True,stdout=subprocess.PIPE).stdout.read()
     print proc
It looks like your code pasted incorrectly.

It pops up the gksudo dialog, and then fails. But i don't get any stdout or
stderror.
Fails how? Is there an error? Does it hang? Does nothing happen at all?

My initial thought is that you might want to try using
Popen.communicate instead of stdout.read in case you're getting
deadlocked. See the big red warning below
https://docs.python.org/3/library/subprocess.html#subprocess.Popen.stdout

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to