web-dev-qa-db-ja.com

Python os.getlogin()vs BASH:who

私はユーザーアカウントで3つのセッションを形成しましたが、Unixで問題はありませんでした:whoコマンドですが、なぜpython:getoslogin()function。

添付の画像を参照してください。

enter image description here

2
rɑːdʒɑ

osモジュールの公式ドキュメント から:

_os.getlogin():

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

ユーザーrajapythonプロセスが実行されているttyにログインしているので、出力rajaを正しく取得しています。

必要なものを取得するには、subprocessモジュールを使用してpythonでネイティブLinuxコマンドを実行できます。

_$ 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)
_

または、 psutil パッケージの get_users() 関数を確認してください。

4
heemayl