今天要來講程序的概念,你一開始聽到程序可能會疑惑和程式的差別,接下來就讓我們來探討程序這個傢伙吧~
儲存在以下媒體中(硬碟、光碟...),爲實體檔案
程式被執行後,其中的權限屬性、程式碼、資料載入記憶體,這一大包東西被貼上一個 PID的標籤來識別。
我們會以一連串的行爲來說明父子程序的關係。
一開始我打開 terminal 進入 zsh,執行ps -l
看看程序執行結果:
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 1000 32147 5285 4 80 0 - 14107 sigsus pts/10 00:00:00 zsh
4 R 1000 32258 32147 0 80 0 - 9078 - pts/10 00:00:00 ps
行爲如下圖:
圖一
接着我輸入 bash
進入 bash 這個子程序,然後再輸入ps -l
觀察
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 1000 32147 5285 1 80 0 - 14107 sigsus pts/10 00:00:00 zsh
0 S 1000 32265 32147 8 80 0 - 8310 wait pts/10 00:00:00 bash
4 R 1000 32595 32265 0 80 0 - 9079 - pts/10 00:00:00 ps
圖二
最後我輸入 exit
退出目前程序
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
0 S 1000 32147 5285 1 80 0 - 14107 sigsus pts/10 00:00:00 zsh
4 R 1000 32604 32147 0 80 0 - 9078 - pts/10 00:00:00 ps
圖三
我們觀察之後可以發現: