다음과 같이 새 셸을 생성하는 여러 명령을 연속해서 실행하면
zsh
screen
su user2
mc
sudo su
mc
"호출 스택", 즉 아직 완료되지 않았지만 새 쉘을 생성한 명령 목록을 표시하는 명령이 있습니까?
거기에서 다른 명령을 실행했을 수도 있으므로 쉘 기록이 도움이 되지 않습니다. 또한 위의 예에서처럼 사용자와 셸을 전환했을 수도 있습니다.
트리 보기를 사용하여 이 정보를 찾을 수 있다는 것을 알고 있지만 htop
명령을 사용하여 직접 얻을 수 있습니까?
답변1
당신은 pstree
(에서PS 기타) 이를 위해:
pstree -s $$
이 -s
옵션은 지정된 프로세스 식별자의 상위 프로세스를 표시하며 $$
현재 프로세스의 식별자입니다. pstree
또한 지정된 프로세스 식별자에 대한 하위 프로세스를 표시하므로 다음과 같이 끝납니다.
systemd───systemd───gnome-terminal-───zsh───pstree
( 귀하의 경우에는 screen
, 등을 sudo
사용 하십시오 ).su
mc
답변2
당신은 시도 할 수 있습니다
ps -t $(tty)
어디
tty
현재 tty를 반환합니다(대화식 세션에 있다고 가정합니다).$( tty)
명령줄에 출력이 표시됩니다.ps -t
이와 관련된 모든 프로세스를 나열합니다.티타이.
ps
좋아하는 로고를 추가할 수 있습니다 . (예를 들어)
ps -t $(tty) -o stime,etime,args