Como hacer esto
Ernesto Nadir Crespo Avila
ecrespo en uc.edu.ve
Lun Abr 16 03:27:39 CEST 2001
El Sáb 14 Abr 2001 15:29, Pedro Floro escribió:
> Buenas,
>
Yo usaria el modulo commands con el subprograma getstatusoutput; el mismo
genera una lista la cual el primer elemento es un valor cero si todo esta
bien y diferente de cero si hay un error; el siguiente elemento de la lista
es la salida del comando.
> Me gustaria hacer una cosa de Unix, una cosa sencilla, por ejemplo hacer
> un 'finger' a un determinado usuario. Eso lo quiero hacer dentro de un
> programa. Primero se miraria el usuario que esta ejecutando el programa en
>
> ese instante, se podria poner asi:
> >>> usuario=popen('whoami')
Lo haría así:
usuario = commands.getstatusoutput('whoami')
Imprimiendo usuario, muestra:
(0, 'ecrespo')
>
> Con eso tendriamos el usuario. Entonces a mi me gustaria usar esa variable
> para varias cosas. Por ejemplo, para hacer un 'finger' al usuario, pero no
>
> se puede hacer esto:
> >>> datos=system('finger -p',usuario)
datos = commands.getstatusoutput('finger -p %s ' %usuario[1])
Imprimiendo datos[1], muestra:
'Login: ecrespo \011\011\011Name: Ernesto Nadir Crespo
Avila\012Directory: /home/ecrespo
\011Shell: /bin/bash\012On since Sun Apr 15 16:20 (VET) on :0
(messages off)\012No mail.'
Tomas la información que te interesa de este string. Puedes quitar los
espacios en blanco y los \012 y tendras otra lista, la cual es más facil de
manejar, o puedes ubicar la información que necesitas con string.find.
> Me gustaria poder usar la variable ahi dentro, o a lo mejor hay otra
> funcion que lo permite.
>
> En otra ocasion tambien, como mirar los procesos que esta realizando el
>
> determinado usuario, por ejemplo, algo asi:
> >>> procesos=system('w',usuario)
procesos = commands.getstatusoutput('ps -aux | grep %s' %usuario[1])
Te genera una lista, el segundo elemento de la lista procesos[1] es un string
el cual contiene todos los procesos ejecutados por ese usuario
Saludos, Ernesto Crespo
Más información sobre la lista de distribución Python-es