유휴 또는 최소화된 프로세스 식별

유휴 또는 최소화된 프로세스 식별

Linux의 일부 GUI 프로세스가 Net-SNMP.

제가 몇 가지 연구를 해본 결과 SNMP는 일반 사용자가 실행하는 프로세스가 아닌 서비스 모니터링을 위해 설계된 것 같습니다.

MIB 개체를 하나만 찾았습니다.HRSW 실행 상태(RFC 2790) 작동 상태는 4개만 있습니다.달리기(1),실행 가능(2),작동하지 않음(3)그리고무효(4), 그러나 특정 GUI 응용 프로그램을 최대화 및 최소화하여 테스트하면 해당 상태의 변화가 나타나지 않습니다. 실제로 나열된 모든 프로세스 snmpwalk에는실행 가능(2)상태(하나 제외): 다음 snmpd과 같이 나열됨달리기(1).

# snmpwalk -v 2c -c public localhost .1.3.6.1.2.1.25.4.2.1.7 | grep "running(1)"
HOST-RESOURCES-MIB::hrSWRunStatus.920 = INTEGER: running(1)
# snmpwalk -v 2c -c public localhost .1.3.6.1.2.1.25.4.2.1.2 | grep 920
HOST-RESOURCES-MIB::hrSWRunName.920 = STRING: "snmpd"

그럼에도 불구하고 ps현재 사용하고 있는 프로세스의 상태가 변경되는 것을 볼 수 없습니다(그 점만 제외 htop). 로 텍스트를 쓰는 것처럼 htop터미널 콘솔에서 실행 하면 이러한 프로세스 중 어느 것도 상태를 갖지 않습니다."konsolekate오른쪽"(실행 중 또는 실행 가능), 그냥"에스"(수면 방해), 좀 이상한 것 같은데 원래는 그래야 하는데... https://supportcenter.checkpoint.com/supportcenter/portal?eventSubmit_doGoviewsolutiondetails=&solutionid=sk112953

그렇다면 Linux에서는 프로세스가 유휴 상태인지 최소화되었는지 어떻게 알 수 있나요?

답변1

댓글에서 앱 사용을 추적하는 시간 추적 앱을 개발하고 싶다고 말씀하셨습니다. 추적하면 할 수 있을 것 같아요주어진 시간에 어떤 창이 활성 창입니까?.

이렇게 하려면 사용자의 X11 세션에 액세스한 다음 명명된 X11 속성을 반복적으로 쿼리해야 합니다 _NET_ACTIVE_WINDOW.

이 코드 예제는 다음을 수행하는 데 도움이 될 수 있습니다. https://github.com/UltimateHackingKeyboard/current-window-linux/blob/master/get-current-window.c

시스템이 클래식 X11 대신 Wayland를 사용하는 경우 불행히도 Wayland에는 자체 솔루션이 필요할 수 있습니다.

관련 정보