'WHAT' 열과 관련된 'w' 명령의 일관되지 않은 동작

'WHAT' 열과 관련된 'w' 명령의 일관되지 않은 동작

w두 컴퓨터 모두에서 명령을 실행하고 있습니다 . 둘 다 정확히 동일한 시스템(Ubuntu 16.04.3 LTS(GNU/Linux 4.4.0-87-generic x86_64))이 설치되어 있습니다. SSH를 통해 두 컴퓨터 모두에 hans로 로그인했습니다.

풍부한 기계:

$ w
 13:18:20 up 26 days,  6:02,  1 user,  load average: 0.02, 0.03, 0.01
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
hans     pts/0    10.xxx.xxx.xxx   10:14    1.00s  0.08s  0.00s w

기계 열:

$ w
 13:11:17 up 46 days, 46 min,  1 user,  load average: 0.02, 0.04, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
hans     pts/0    10.xxx.xxx.xxx   10:14    0.00s  0.02s  0.02s sshd: hans [priv]

열의 출력이 다른 이유는 무엇입니까 WHAT? on foo I see it w, on bar: I see it sshd: hans [priv]. 이 비대칭성은 어디서 오는 걸까요?

답변1

w명령은 경험적 방법을 사용하여 현재 프로세스로 표시할 프로세스를 결정합니다. Linux 매뉴얼 페이지에서는 작동 방식을 설명하지 않지만 내 OS X 시스템에서는 다음과 같이 말합니다.

"현재 프로세스"라는 개념이 모호합니다. 현재 알고리즘은 "인터럽트를 무시하지 않는 터미널에서 가장 높은 번호가 지정된 프로세스이거나, 없는 경우 터미널에서 가장 높은 번호가 지정된 프로세스"입니다. 예를 들어, 셸 및 편집기와 같은 프로그램의 중요한 섹션에서 또는 잘못된 프로그램이 백그라운드 포크에서 실행 중이고 중단을 무시할 수 없는 경우 실패할 수 있습니다. (프로세스가 발견되지 않으면 w가 인쇄됩니다 -.)

거기에 설명된 실패 모드는 현재 보고 있는 일관되지 않은 동작을 설명할 수 있습니다.

관련 정보