Unix操作系統有很多值得學習的地方,這裡我們主要介紹Unix操作系統中的進程,大家一起來學習下吧!研究進程的生命周期,以便您能將所看到的系統上發生的事情與內核中發生的事情聯系起來。
分配給Unix操作系統管理員的許多工作之一是確保用戶的程序正確運行。因為Unix操作系統上存在其他並發運行的程序,所以此任務變得更加復雜。由於種種原因,這些程序可能會失敗、掛起或行為異常。在構建更可靠的系統時,了解 UNIX® 環境如何創建、管理和銷毀這些作業是至關重要的步驟。
開發人員還必須積極了解內核如何管理進程,因為與系統的其他部分和睦相處的應用程序會占用更少的資源,並且不會頻繁地給系統管理員帶來麻煩。由於導致僵死進程(將在稍後對其進行描述)而頻繁重新啟動的應用程序明顯是不可取的。
對控制進程的Unix操作系統調用的了解可以使開發人員編寫能夠在後台自動運行的軟件,而不是需要一個始終保持在用戶屏幕上的終端會話。
管理這些Unix操作系統程序的基本構件就是進程。進程是賦予某個由操作系統執行的程序的名稱。如果您熟悉 ps 命令,則您應該熟悉進程清單。
如清單 1 所示。
清單 1. ps 命令的輸出
- sunbox#ps -ef
- UID PID PPID C STIME TTY TIME CMD
- root 0 0 0 20:15:23 ? 0:14 sched
- root 1 0 0 20:15:24 ? 0:00 /sbin/init
- root 2 0 0 20:15:24 ? 0:00 pageout
- root 3 0 0 20:15:24 ? 0:00 fsflush
- daemon 240 1 0 20:16:37 ? 0:00 /usr/lib/nfs/statd
- ...
前三列對這裡的討論非常重要。第一列列出用於運行該進程的用戶身份,第二列列出進程的 ID,第三列列出該進程的父進程 ID。最後一列是進程的描述,通常是所運行的二進制文件的名稱。每個進程都被分配一個標識符,稱為進程標識符(Process Identifier,PID)。進程還有父進程,在大多數情況下就是啟動它的Unix操作系統進程的 PID。
對Unix操作系統中的進程的基本知識的介紹就到這裡。希望對大家對Unix操作系統的學習有所幫助。