저는 바이너리를 사용하는 대신 파일 시스템과 기본 bash 기능만 사용하여 현재 로그인한 사용자 수를 확인하는 간단한 방법을 찾고 있습니다.
바이너리는 uptime
소스 코드에서 읽은 것처럼 보이지만 실시간으로 업데이트되지 않는 것 같습니다(사용자에게는 표시되지만 지금은 실행 중입니다). 그러나 바이너리에는 "사용자 2명"이 올바르게 표시됩니다./var/run/utmp
/var/run/utmp
tty7
pts/1-5
tty7
pts/5
uptime
참고: 저는 C에 의존하지 않고 uptime
기본 getutent()
시스템이 어떻게 작동하는지 더 잘 이해하려고 노력하고 있습니다.
현재 시스템에 로그인한 정확한 사용자 수를 확인할 수 있는 가장 좋은 장소는 어디입니까?
답변1
/proc/sys/kernel/pty/nr
다음 을 보면 얼마나 많은 pty가 할당되었는지 확인할 수 있습니다 .얼마나사람들이 로그인되어 있습니다.
예를 들어, 내 서버 중 하나에 현재 나만 로그인되어 있지만7사용자가 실행 중이기 때문에 pty가 사용되고 있습니다 screen
.