top 명령이 who 명령이 표시하지 않는 내용을 사용자에게 표시하는 이유는 무엇입니까?

top 명령이 who 명령이 표시하지 않는 내용을 사용자에게 표시하는 이유는 무엇입니까?

Raspbian GNU/Linux 9(stretch)를 실행하는 Raspberry Pi 2에서 작업했습니다.

top명령을 실행할 때 명령에 표시되지 않는 일부 사용자가 표시되는 이유를 이해하려고 합니다 who. 다음은 RPi에서 실행된 명령의 출력입니다.

$ top
top - 12:36:42 up 2 days, 15:19,  2 users,  load average: 0.29, 0.34, 0.27
Tasks: 138 total,   1 running,  73 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.0 us,  0.9 sy,  0.0 ni, 97.0 id,  0.0 wa,  0.0 hi,  0.1 si,  0.0 st
KiB Mem :   949460 total,   354296 free,    62916 used,   532248 buff/cache
KiB Swap:   102396 total,    30972 free,    71424 used.   811488 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
10907 iceman    20   0    6144   3400   1924 S   2.3  0.4   4:05.37 rsync
10876 maverick  20   0    8128   3300   2740 R   1.6  0.3   0:36.49 top
  376 root      20   0  911240   9648   3164 S   0.7  1.0  31:58.38 dockerd
  663 root      20   0  149932   1728   1020 S   0.7  0.2  28:25.48 Xorg
  674 root      20   0  884620   3848   1764 S   0.7  0.4  22:06.18 docker-co


$ who
maverick   pts/0        2018-11-28 11:23 (73.69.181.86)
maverick   pts/1        2018-11-28 11:58 (73.69.181.86)

명확히 하기 위해 다음 을 시도했습니다. who, who -u, who -l, who -p.who -a

답변1

man who"man 페이지"(예: run)를 보면 시스템의 명령줄 도구와 해당 매개변수에 대한 추가 정보를 찾을 수 있습니다 .


해당 매뉴얼 페이지에서:

top- Linux 프로세스 표시

who- 누가 로그인했는지 표시

그 동안 다음도 있습니다.

w- 누가 로그인했는지, 무엇을 하고 있는지 보여줍니다.

사용자가 "로그인"을 수행하면 "로그인"됩니다. 즉, 사용자가 시스템에 인증하기 위한 비밀번호나 키를 제공하고 시스템이 해당 사용자를 위한 "세션"을 시작했습니다.

보시다시피, who이러한 로그인 세션만 나열됩니다. 일반적으로 세션이 연결된 모든 항목과 함께 나열됩니다.

  • Xserver 세션(예: :0첫 번째 그래픽 세션)
  • 터미널( tty예: Ctrl++ Alt) F2,
  • 또는 의사 터미널( pts예: SSH 세션, 터미널 에뮬레이터 또는 터미널 멀티플렉서 프로그램의 경우)

다음과 같이 로그인 세션을 포함하지 않는 프로세스를 시작하는 다른 방법이 있습니다.

  • 시스템 서비스( 에 의해 시작되거나 init시스템 systemd이 서비스 시작을 위해 사용하는 모든 서비스)
  • tty 장치에 대한 SSH 세션이 요청되지 않음 - 이는 ssh example.com rsync …대화형 셸( )을 요청하는 대신 SSH 호출( ) 직후에 명령을 실행할 ssh example.com때 일반적으로 발생합니다.
  • 로그인 세션에서 프로세스를 시작한 다음 현재 셸에서 프로세스를 분리하여 세션에서 분리합니다(예: 다음을 disown사용 ).

그런데 시스템에 어떤 사용자가 있는지 알고 싶다면(로컬로 구성된 사용자 /etc/passwd및 LDAP와 같은 외부 데이터베이스의 사용자):

getent passwd

마지막으로 로그인한 시간도 알고 싶다면 다음을 수행하세요.

lastlog

관련 정보