(ls) 的圖表是什麼樣子的?

(ls) 的圖表是什麼樣子的?

ls這是進入bash 並執行它 後發生的情況的圖表:在此輸入影像描述

ls第一部分顯示執行前的情況。重擊是終端模擬器的子進程xterm而且他們周圍的氣場、環境都是一樣的。這xx標記表明,兩者Xterm重擊,因為父進程和子進程擁有相同的環境變數集。

第二部分顯示了啟動一個新進程(即 ls)後會發生什麼。

  1. Bash 創建了一個子進程,它是其自身的精確副本,因此我將其命名為bash_c(Bash_copy 的縮寫)。
  2. 然後,bash_c正在被 ls 程序取代。

我認為這張圖簡單明了、不言自明、直觀且不含糊。

然而,我還沒有畫出 的圖表(ls),因為我不知道它是什麼樣子,我有一些不同的場景來了解它的樣子,但這裡開始問題部分: 的圖表是什麼樣子(ls)?請畫並評論。

答案1

for 的進程層次結構(ls)與 for 相同ls,即→ bash → ls,但如果將命令清單放在括號中:(ls; ls),則 bash 啟動一個子 shell 並執行該子 shell 中的命令。產生的進程層次結構如下所示:(→ bash → bash → ls兩個 ls 進程依序運行)。

您可以透過使用不帶參數的 cat 而不是 ls: 來視覺化這一點(cat; cat)。第一個 cat 進程等待輸入,讓您有機會查看使用pstreetop在另一個終端中發生的情況。

相關內容