(ls)에 대한 다이어그램은 어떻게 생겼나요?

(ls)에 대한 다이어그램은 어떻게 생겼나요?

ls이것은 bash에 들어가서 실행한 후 어떤 일이 발생하는지에 대한 다이어그램입니다 .여기에 이미지 설명을 입력하세요

ls첫 번째 부분은 실행 전의 상황을 보여줍니다 .세게 때리다터미널 에뮬레이터의 하위 프로세스입니다.xterm그리고 그들은 그들 주위에 동일한 아우라, 환경을 가지고 있습니다. 그만큼더블 엑스표시는 둘 다Xterm그리고세게 때리다, Father-and Sonprocesses는 동일한 환경 변수 세트를 제공합니다.

두 번째 부분은 새로운 프로세스, 즉 ls를 시작한 후에 무슨 일이 일어나는지 보여줍니다.

  1. Bash는 자체 복사본인 하위 프로세스를 생성하므로 이름을 지정했습니다.Bash_c(Bash_copy의 약자)
  2. 그 다음에,Bash_cls 프로세스로 대체되고 있습니다.

나는 이 다이어그램이 간단하고 설명이 필요 없으며 직관적이고 모호하지 않다고 생각합니다.

(ls)그러나 나는 그것이 어떻게 생겼는지 모르기 때문에 에 대한 다이어그램을 그리지 않았습니다. 어떻게 보일지에 대한 몇 가지 다른 시나리오가 있지만 여기서 질문 부분이 시작됩니다. 다이어그램은 어떻게 생겼습니까 (ls)? 그림을 그리고 댓글을 달아주세요.

답변1

for 프로세스 계층은 for , 즉 와 (ls)동일합니다 . 그러나 명령 목록을 괄호 안에 넣으면 bash는 서브쉘을 시작하고 해당 서브쉘에서 명령을 실행합니다. 결과 프로세스 계층 구조는 다음과 같습니다 (두 개의 ls 프로세스가 순서대로 실행됨).ls→ bash → ls(ls; ls)→ bash → bash → ls

ls: 대신 인수 없이 cat을 사용하여 이를 시각화할 수 있습니다 (cat; cat). 첫 번째 cat 프로세스는 다른 터미널에서 pstree또는 다른 터미널 을 사용하여 무슨 일이 일어나고 있는지 확인할 수 있는 입력을 기다립니다 top.

관련 정보