基礎(chǔ)講解Unix操作系統(tǒng)進程
Unix操作系統(tǒng)有很多值得學習的地方,這里我們主要介紹Unix操作系統(tǒng)中的進程,大家一起來學習下吧!研究進程的生命周期,以便您能將所看到的系統(tǒng)上發(fā)生的事情與內(nèi)核中發(fā)生的事情聯(lián)系起來。
分配給Unix操作系統(tǒng)管理員的許多工作之一是確保用戶的程序正確運行。因為Unix操作系統(tǒng)上存在其他并發(fā)運行的程序,所以此任務(wù)變得更加復雜。由于種種原因,這些程序可能會失敗、掛起或行為異常。在構(gòu)建更可靠的系統(tǒng)時,了解 UNIX® 環(huán)境如何創(chuàng)建、管理和銷毀這些作業(yè)是至關(guān)重要的步驟。
開發(fā)人員還必須積極了解內(nèi)核如何管理進程,因為與系統(tǒng)的其他部分和睦相處的應(yīng)用程序會占用更少的資源,并且不會頻繁地給系統(tǒng)管理員帶來麻煩。由于導致僵死進程(將在稍后對其進行描述)而頻繁重新啟動的應(yīng)用程序明顯是不可取的。
對控制進程的Unix操作系統(tǒng)調(diào)用的了解可以使開發(fā)人員編寫能夠在后臺自動運行的軟件,而不是需要一個始終保持在用戶屏幕上的終端會話。
管理這些Unix操作系統(tǒng)程序的基本構(gòu)件就是進程。進程是賦予某個由操作系統(tǒng)執(zhí)行的程序的名稱。如果您熟悉 ps 命令,則您應(yīng)該熟悉進程清單。
如清單 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)。進程還有父進程,在大多數(shù)情況下就是啟動它的Unix操作系統(tǒng)進程的 PID。
對Unix操作系統(tǒng)中的進程的基本知識的介紹就到這里。希望對大家對Unix操作系統(tǒng)的學習有所幫助。
【編輯推薦】


















