systemd에서 실행 중인 사용자 및 해당 프로세스에 대한 정보를 얻는 방법은 무엇입니까?

systemd에서 실행 중인 사용자 및 해당 프로세스에 대한 정보를 얻는 방법은 무엇입니까?

누가 언제 로그인했는지, 그리고 현재 그의 제어 하에 어떤 프로세스가 실행되고 있는지 알고 싶다면 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

추가 읽기

답변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
  ...

관련 정보