Red Hat 가상 머신을 사용하고 있으며 원격으로만 액세스할 수 있습니다. 그러나 이 명령을 사용할 때 top
가장 메모리를 많이 차지하는 프로세스 중 하나는 /usr/lib64/firefox-3.0.18/firefox
.
이러한 프로세스를 표시하지 않고 어떻게 시작하고 일부 프로세스에서 실제로 사용할 수 있습니까? 어떤 프로세스가 이를 사용하고 있는지 확인할 수 있는 방법이 있나요?
답변1
Firefox를 표시하려면 X가 필요합니다. 실행 중인 컴퓨터의 물리적 모니터일 필요는 없습니다. 원격 모니터나 가상 모니터일 수 있습니다.
그것이 어디에 나타나는지 알고 싶다면 DISPLAY
Firefox 프로세스의 환경 변수를 살펴보십시오. 루트여야 합니다(더 정확하게는 Firefox 프로세스를 실행하는 사용자의 권한이 있어야 합니다).
</proc/$pid/environ grep -z '^DISPLAY='
:NUMBER
값이 콜론으로 시작하는 형식인 경우 X 서버는 로컬 서버입니다. /tmp/.X11-unix/XNUMBER
예를 들어 /tmp/.X11-unix/X42
이라는 이름의 소켓이 있습니다 DISPLAY=:42
. 로 표시되면 :NUMBER1.NUMBER2
이 .NUMBER2
부분은 무시됩니다. 그런 다음 lsof /tmp/.X11-unix/X42
소켓을 연 프로세스 중 하나가 X 서버입니다. 가상 프레임버퍼 X 서버일 수 있습니다.wxya또는 원격으로 프레임을 표시하는 서버일 수 있습니다.가상 네트워크 컨트롤러또는NX.
값이 형식이면 host:NUMBER
X 디스플레이가 원격입니다. X 서버는 포트 6000+NUMBER에서 수신 대기하는 프로세스입니다. netstat -plnt | awk '$4 ~ ":" (6000 + NUMBER) "$"' {print $7}
해당 포트에서 수신 대기 중인 프로세스의 PID를 표시하려면 실행하세요 . SSH 연결일 수도 있습니다.
답변2
X11은 사용되는 X 서버와 다른 응용 프로그램 서버를 사용할 수 있는 Window 시스템이므로 로컬에 모니터를 설치할 필요가 없습니다.
가장 좋은 방법은 실행 중인 Firefox의 상위 항목이 무엇인지 확인하는 것입니다. 즉, 출력에서 상위 항목의 PID를 확인하는 것입니다
ps
(상위 항목도 살펴봐야 할 수도 있습니다...). 참고:ptree
설치 명령이 있으면 도움이 됩니다.또 다른 표시는 프로세스가 사용하는 사용자 ID입니다.