SunOS 5.10, Python 2.4/2.6
I ask forgiveness in advance as I cannot copy and paste into an email
what I am doing on this system. So I will have to manually type
things, introducing the usual possibility of typos.
My objective: Determine who the currently logged in user is and
determine if that user is in my list of users that I have authorized
to use my programs.
I tried in the interpreter:
=================================================================================================
py2> cmd = ['who', '-m']
py2> import subprocess as sp
py2> p = sp.Popen(cmd, stdin=sp.PIPE, stdout=sp.PIPE, stderr=sp.PIPE)
py2> out, err = p.communicate()
py2> out
''
py2> err
"Must be attached to terminal for 'am I' option\n"
py2> p = sp.Popen(cmd, shell=True, stdin=sp.PIPE, stdout=sp.PIPE,
stderr=sp.PIPE)
py2> out, err = p.communicate()
py2> out
'rstepp ...' followed by all the other currently logged in users as if
I had just typed 'who' in the terminal.
=================================================================================================
What am I doing wrong? Why cannot I get the '-m' to be used? And is
there an easier way to accomplish my objective?
If I cannot work this out, then I will be forced to do:
py2> import os
py2> current_usr = os.popen('who -m')
This should not be a security issue for me as no user input is
involved. But I would rather use the subprocess module.
TIA!
--
boB
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
https://mail.python.org/mailman/listinfo/tutor