GUI 애플리케이션 프로세스에 대한 보고서 받기

GUI 애플리케이션 프로세스에 대한 보고서 받기

주요 신청 절차 보고서를 이 형식으로 나열하고 싶습니다.

ps -e -o pid,comm,pmem,pcpu,uname

기본 GUI 애플리케이션을 필터링하는 것이 wmctrl -pl프로세스 ID를 얻을 수 있는 유일한 방법입니다. xlsclients그것이 작동 한다면 좋을 것입니다. 내가 원하는 실명 목록이 들어있습니다.

원하는 보고서를 얻기 위해 이를 단일 명령으로 결합하려면 어떻게 해야 합니까? (ps -p = xlsclients -p)

답변1

일반적으로 Unix에서는 명령을 함께 연결하며, 많은 명령은 다른 명령에서 생성된 출력과 함께 사용할 수 있도록 특별히 작성되는 경우가 많습니다.

다행스럽게도 출력을 가져와 구문 분석하여 xlsclients명령 이름만 표시되도록 할 수 있습니다. 그런 다음 이 정보를 ps명령에 전달하여 원하는 출력을 얻을 수 있습니다.

$ xlsclients
dufresne  conky -c /home/slm/.conky/b.conf
dufresne  cinnamon-session
dufresne  cinnamon-settings-daemon
dufresne  csd-locate-pointer
dufresne  clipit

$ xlsclients | cut -d" " -f3 | paste - -s -d ','
conky,cinnamon-session,cinnamon-settings-daemon....

그런 다음 이 프로세스 이름 목록을 -C스위치 에 제공할 수 있습니다 ps.

$ ps -o pid,comm,pmem,pcpu,uname \
    -C $(xlsclients | cut -d" " -f3 | paste - -s -d ',')

노트:-e이제 목록을 제공하므로 이 스위치를 제거했습니다 ps.

$ ps -o pid,comm,pmem,pcpu,uname \
    -C "$(xlsclients | cut -d" " -f3 | paste - -s -d ',')" | head 
  PID COMMAND         %MEM %CPU USER
 1998 cinnamon-launch  0.2  0.0 slm
 2031 cinnamon         6.5  0.7 slm
16736 cinnamon-launch  0.3  0.0 slm
16738 cinnamon         6.1  2.7 slm
16994 cinnamon-sessio  0.2  0.0 slm
17231 cinnamon-settin  0.4  0.0 slm
17293 csd-locate-poin  0.2  0.0 slm
17331 nm-applet        0.3  0.0 slm
17339 clipit           0.2  0.1 slm

답변2

$ ps -o pid,comm,pmem,pcpu,uname \ -C "$(xlsclients | cut -d" " -f3 | Paste -s -d ',')" |헤더 PID 명령 %MEM %CPU 사용자 1998 Cinnamon 시작 0.2 0.0 slm 2031 cinnamon 6.5 0.7 slm 16736 cinnamon 시작 0.3 0.0 slm 16738 cinnamon 6.1 2.7 slm 16994 cinnamon 세션 0.2 0 .0 slm 17231 cinnamon 설정 0.4 0.0 slm 17 293 csd-locate -point 0.2 0.0 slm 17331 nm 애플릿 0.3 0.0 slm 17339 클립 0.2 0.1 slm

관련 정보