在說到程序管理命令時,我們都應該對程序有乙個認知。那什麼是程序呢?
一、程序的定義
1、定義
我們都知道程序管理、記憶體管理和檔案管理是作業系統的三大核心。程序顧名思義就是進展中的程式或者說是執行中的程式。就是說乙個程序載入到記憶體中就會變成程序。
2、與程式的區別
在知道這些之後,我們還應該了解到一下幾個的概念。
(1)、原始碼檔案(.c):就是我們使用者寫的**
(2)、程式:使用編譯器將原始碼檔案編譯成系統所能識別並執行的二進位制位檔案。儲存在磁碟上的二進位制檔案(windows:.exe linux:a.out)
(3)、程序:執行中的程式。將二進位制可執行檔案載入到記憶體上,然後由cpu執行其中的一些指令。將這個執行的過程,稱之為程序。
(4)、結果:程序執行結果輸出的資料。
由上述區別可以直到,程序是乙個過程,是乙個動態的概念。程式是靜態的。
二、作業系統是如何表示以及管理程序的呢?
作業系統將程序的相關的屬性記錄下來,通過屬性值的變化就能夠描述程式正在執行。作業系統為每個程序(pcb->程序控制塊 struct->結構體變數)分配了乙個編號(pid)
三、程序管理命令
1、如何檢視程序的命令
(1)、ps命令:顯示當前終端執行的基礎資訊。如下圖所示:
當然,ps有很多帶引數的命令,下面我們說幾個常用的簡單的命令:
ps :
-e 顯示系統上所有的程序,還可以顯示其他使用者程序
-f 顯示父子程序
-l 顯示執行緒資訊
-a 此終端機下執行的所有程序
u 顯示程序的資源占有情況 cpu mem 虛擬記憶體 實際記憶體
此外我們還用到管道(|)和過濾命令(grep)。
當我們執行ps -ef
時,發現顯示了所有的程序。如下圖所示:
但當我們使用了管道和過濾命令時就可以檢視自己想檢視的程序了,沒有那麼龐大,如下圖所示:
(2)、top命令:
top命令類似於我們windows下的資源管理器。
是乙個動態變化的過程
(3)、pstree命令:
以樹狀圖展示程序之間的關係,如下圖所示(一部分):
2、kill命令(用於結束乙個程序)
(1)&:如果執行乙個命令或者乙個程式時,在其後加乙個&,則執行的程序放到後台執行。如下圖所示:
當我們讓程序睡眠不管幾秒鐘的時候我們發現我們的命令都無法使用,但當我們加上&命令後就相當於在後台執行,我們的所有命令就都可以使用。
(2)kill pid:結束乙個程序。如下圖所示:
當我們睡眠乙個程序時,再使用kill命令時就直接將該程序掛掉了。
(3)kill -stop pid:掛起乙個程序,也就是將程序暫停。如下圖所示:
(4)kill -9 pid:強制結束乙個程序。
kill pid是無法殺死掛起的程序的。這時候我們就需要kill -9 pid強制殺死乙個程序。如上圖所示。
(5)pkill cmd:結束一組相關的程序。可以批量用來關閉程序。而不需要乙個乙個關閉。
(6)jobs:顯示任務
(7)fg + 任務號:放到前台執行
(8)bg + 任務號:將掛起的程序放到後台執行
Linux中的使用者管理命令和程序管理命令
linux是乙個多使用者的作業系統,它存在多個使用者資訊,多個使用者可以同時在系統上登陸工作。linux的使用者許可權管理相對比較嚴格,每個檔案對不同的使用者提供不同的許可權。一 使用者管理命令 1 儲存使用者資訊 在linux中,使用者分為兩大類,超級使用者 rooty使用者 和普通使用者 多個 ...
Linux之程序管理 常見程序管理命令
前面的內容中給大家講過了如何檢視程序,今天要給大家講的是對於程序的管理,說的簡單一些就是你可以對程序做的操作,比如控制程序的開啟與關閉,那麼應該如何實現對程序的控制呢?這就需要你給這個程序乙個訊號去告之你想要它幹什麼.一 常見訊號 先說一說常用的幾個主要代號 1 代號 1 sighup,可以啟動被終...
Linux程序管理 網路 使用者管理相關命令
主要是一些命令 1 切換終端 ctrl alt f1 f7 2 檢視程序命令 1 ps a 列出當前所有使用者資訊 2 ps u 以使用者為主的格式來顯示程式狀況。3 ps x 顯示所有程式,不以終端機來區分。管道 指令的輸出作為指令2的輸入 指令1的輸出不顯示 3.kill l檢視所有命令。當使用...