Python os.getlogin() 与 BASH:谁

Python os.getlogin() 与 BASH:谁

我已经与用户帐户建立了 3 个会话,并且使用 Unix:who 命令没有遇到任何问题,但是为什么我无法使用 python:getoslogin() 函数获得正确的响应。

请参阅附图以供参考。

在此处输入图片描述

答案1

os模块的官方文档

os.getlogin():

Return the name of the user logged in on the controlling terminal of the process

由于用户raja登录了python运行该进程的 tty,因此您可以正确获取输出raja

为了获得您想要的结果,您可以使用该subprocess模块运行本机 Linux 命令python

$ who
foobar   :0           2015-11-01 18:04 (:0)
foobar   pts/1        2015-11-01 18:04 (:0)
foobar   pts/9        2015-11-01 18:04 (:0)


>>> python2
>>> import subprocess
>>> print subprocess.check_output("who")
foobar   :0           2015-11-01 18:04 (:0)
foobar   pts/1        2015-11-01 18:04 (:0)
foobar   pts/9        2015-11-01 18:04 (:0)

或者检查get_users()函数来自psutil包裹。

相关内容