誰がいつログインしたのか、そして現在彼の制御下でどのプロセスが実行されているのかを知りたい場合は、systemdでどうすればよいですか?
答え1
これを行うにはシステムは必要ありません。しかし、これを行うシステム方法があります。しかもsystemd-logind
、同じAPIを提供するデーモンやプログラムを実行する限り。
まず、セッションのリストを取得します。
$ systemd-loginctl list-sessions
SESSION UID USER SEAT
c89 1000 jdebp seat0
1 sessions listed.
その後、各セッションのステータスを表示したいと思います。
$ systemd-loginctl session-status c89
c89 - jdebp (1000)
Since: Tue, 07 Oct 2014 20:16:20 +0100; 15s ago
Leader: 24453 (3)
Seat: seat0; vc6
TTY: /dev/tty6
Service: login; type tty; class user
Active: yes
CGroup: /user/jdebp/c89
├ 24453 login
├ 25661 -zsh
└ 25866 systemd-loginctl session-status c89
システムの人々は最新バージョンloginctl
に名前を変更しました。logind
追加読書
loginctl
。 freedesktop.org.logind
アプリケーションプログラミングインターフェース。 freedesktop.org.- GSOC 2014:systemd交換ユーティリティ(systembsd)。 OpenBSDジャーナル。 2014年9月12日。
答え2
これを行うにはsystemdは必要ありません。
誰がいつログインしたのか知りたい
使用who
$ who
jimmij tty7 2014-09-25 01:39 (:0)
jimmij pts/0 2014-09-25 01:39 (:0)
jimmij pts/2 2014-09-28 22:14 (:0)
または、w
より多くの情報を取得する方が良い
$ w
jimmij tty7 25Sep14 12days 4:09m 5:24 sawfish
jimmij pts/0 25Sep14 53:43 8.81s 32:32 /usr/bin/python2.7 /usr/lib/python-exec/python2.7/ter
jimmij pts/2 28Sep14 8days 45.08s 2.45s /bin/zsh
現在、彼の管理下でどのようなプロセスが実行されていますか?
使用ps -u user
$ ps -u jimmij
PID TTY TIME CMD
352 ? 00:00:01 systemd
353 ? 00:00:00 (sd-pam)
359 ? 00:05:24 sawfish
372 ? 00:00:00 dbus-launch
373 ? 00:00:00 dbus-daemon
375 ? 00:00:16 sawfishpager
377 ? 00:32:32 terminator
...