程式:靜態的二進位可執行檔(如 /bin/date, /usr/sbin/httpd)。
程序:程式執行時的動態實例,擁有獨立的記憶體空間、安全屬性、一或多個執行緒、以及生命週期狀態。

所有程序皆為第一個系統程序的後代:
init (PID 1)systemd (PID 1)

| 代碼 | 狀態 | 說明 |
|---|---|---|
| R | Running | 正在執行或等待 CPU 排程 |
| S | Sleeping | 可中斷睡眠,等待事件(I/O、信號) |
| D | Uninterruptible Sleep | 不可中斷睡眠(通常等待磁碟 I/O),不可被 kill |
| T | Stopped | 被作業控制信號停止(SIGSTOP) |
| Z | Zombie | 僵屍程序,已結束但父程序未回收 |
| X | Dead | 即將消失的狀態 |
Ss:Session leader(通常是父程序/daemon)。S<:高優先級(nice 值負)。SN:低優先級(nice 值正)。R+:前景程序組。Sl:多執行緒程序(顯示為線程)。理解 fork/exec/wait 機制與程序狀態,是 Linux 系統程式設計、效能調校、故障排查的基石。僵屍程序大量出現通常意味父程序未正確處理 SIGCHLD,需檢查程式碼或重啟服務。
Linux 部署 Hadoop 1.2.1 偽分散模式完整教學 (Fedora 19)
解決 Tomcat JVM 記憶體溢出:三大錯誤類型分析與 catalina.sh 參數調優實戰
8 個技巧讓你成為 Linux 終端高手:Tab 補全、管道、通配符、重導向、歷史、路徑簡寫、後台執行、條件執行
Linux 普通用戶獲取 Root 權限三大姿勢:sudoers 配置詳解與最佳實踐
圖文詳解:VirtualBox 安裝 CentOS 6.4 完整教程
Ubuntu 配置 SSH 免密碼登錄(密鑰認證)完整圖文教程