Se eu quisesse saber quem está logado desde quando e quais são os processos atualmente em execução sob seu controle, como posso fazer isso no systemd?
Responder1
Você não precisa do systemd para isso… mas existe uma maneira do systemd de fazer issotambém, desde que você esteja executando o systemd-logind
daemon ou algo que forneça a mesma API.
Primeiro obtenha uma lista de sessões:
$ systemd-loginctl list-sessions
SESSION UID USER SEAT
c89 1000 jdebp seat0
1 sessions listed.
Então, para cada sessão em que você está interessado, mostre seu status:
$ 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
O pessoal do systemd os renomeou para loginctl
e logind
em versões mais recentes.
Leitura adicional
loginctl
. freedesktop.org.logind
API. freedesktop.org.- GSOC 2014: utilitários de substituição do systemd (systembsd). Diário do OpenBSD. 12/09/2014.
Responder2
Você não precisa do systemd para isso.
Queria saber quem está logado desde quando
Usarwho
$ 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)
ou melhor ainda, w
para obter informações adicionais
$ 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
Quais são os processos atualmente em execução sob seu controle
usarps -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
...