특정 사용자 계정과 관련된 모든 프로세스를 검색하고 표시하기 위해 별칭을 만들었는데, 이러한 프로세스는 로그인할 때마다 자동으로 시작되는 것 같았는데 15개 정도 있었고, 제거 과정을 통해 상위 프로세스를 찾았습니다. 기본적으로 전체 목록 대신 별칭과 상위 프로세스만 표시하고 싶습니다. 파이프해야 한다는 것은 알지만 그 이상은 확실하지 않습니다.
예:
ps -u *someuser* | grep <parent process name/PID>
편집 #1
이는 제가 언급한 프로세스 트리와 정확히 관련이 없지만 관련 프로세스를 붙여넣을 수 있도록 매뉴얼 페이지를 열었습니다.
966 man pidof ---
969 sh -c (cd '/usr/local/share/man' && (echo ".ll 12.8i"; echo ".nr LL 12.8i"; /usr/bin/gunzip -c '/usr/local/share/man/ ---
970 sh -c (cd '/usr/local/share/man' && (echo ".ll 12.8i"; echo ".nr LL 12.8i"; /usr/bin/gunzip -c '/usr/local/share/man/ --- 975 sh -c (cd '/usr/local/share/man' && (echo ".ll 12.8i"; echo ".nr LL 12.8i"; /usr/bin/gunzip -c '/usr/local/share/man/ ---
977 /usr/bin/less -is` how `kill 966` kills all the rest
답변1
Unix 명령을 사용하여 pstree
트리 구조의 프로세스 이름 목록을 얻을 수 있습니다.
예
$ pstree
init-+-NetworkManager-+-dhclient
| `-2*[{NetworkManager}]
|-abrtd
|-acpid
|-atd
|-auditd-+-audispd-+-sedispatch
| | `-{audispd}
| `-{auditd}
|-autossh---ssh---ssh
|-avahi-daemon---avahi-daemon
|-bonobo-activati---2*[{bonobo-activat}]
|-chrome-+-3*[chrome]
| |-chrome-sandbox---chrome-+-chrome-+-25*[chrome---3*[{chrome}]]
| | | |-4*[chrome---4*[{chrome}]]
| | | `-chrome---6*[{chrome}]
| | `-nacl_helper_boo
| `-31*[{chrome}]
...
...
특정 사용자와 관련된 프로세스만 원하는 경우 사용자 이름을 제공할 수도 있습니다.
예
$ pstree saml
autossh---ssh---ssh
bonobo-activati---2*[{bonobo-activat}]
chrome-+-3*[chrome]
|-chrome-sandbox---chrome-+-chrome-+-25*[chrome---3*[{chrome}]]
| | |-4*[chrome---4*[{chrome}]]
| | `-chrome---6*[{chrome}]
| `-nacl_helper_boo
`-31*[{chrome}]
clock-applet---{clock-applet}
...
...