쉘 명령의 호출 스택

쉘 명령의 호출 스택

다음과 같이 새 셸을 생성하는 여러 명령을 연속해서 실행하면

zsh
screen
su user2
mc
sudo su
mc

"호출 스택", 즉 아직 완료되지 않았지만 새 쉘을 생성한 명령 목록을 표시하는 명령이 있습니까?

거기에서 다른 명령을 실행했을 수도 있으므로 쉘 기록이 도움이 되지 않습니다. 또한 위의 예에서처럼 사용자와 셸을 전환했을 수도 있습니다.

트리 보기를 사용하여 이 정보를 찾을 수 있다는 것을 알고 있지만 htop명령을 사용하여 직접 얻을 수 있습니까?

답변1

당신은 pstree(에서PS 기타) 이를 위해:

pstree -s $$

-s옵션은 지정된 프로세스 식별자의 상위 프로세스를 표시하며 $$현재 프로세스의 식별자입니다. pstree또한 지정된 프로세스 식별자에 대한 하위 프로세스를 표시하므로 다음과 같이 끝납니다.

systemd───systemd───gnome-terminal-───zsh───pstree

( 귀하의 경우에는 screen, 등을 sudo사용 하십시오 ).sumc

답변2

당신은 시도 할 수 있습니다

ps -t $(tty)

어디

  • tty현재 tty를 반환합니다(대화식 세션에 있다고 가정합니다).
  • $( tty)명령줄에 출력이 표시됩니다.
  • ps -t이와 관련된 모든 프로세스를 나열합니다.타이.

ps좋아하는 로고를 추가할 수 있습니다 . (예를 들어)

ps -t $(tty) -o stime,etime,args

관련 정보